nugrant 1.2.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,125 +1,128 @@
1
- require 'nugrant/config'
2
- require 'test/unit'
1
+ require 'minitest/autorun'
3
2
  require 'tmpdir'
4
3
 
5
- class Nugrant::TestConfig < Test::Unit::TestCase
6
- def setup
7
- @default_param_filename = Nugrant::Config::DEFAULT_PARAMS_FILENAME
8
-
9
- @old_working_dir = Dir.getwd()
10
- @user_dir = Nugrant::Config.user_base_path()
11
- @system_dir = Nugrant::Config.system_base_path()
12
-
13
- Dir.chdir(Dir.tmpdir())
14
-
15
- @project_dir = Dir.getwd()
16
- end
17
-
18
- def teardown
19
- Dir.chdir(@old_working_dir)
20
-
21
- @old_working_dir = nil
22
- @project_dir = nil
23
- @user_dir = nil
24
- @system_dir = nil
25
- end
26
-
27
- def test_default_values
28
- config = Nugrant::Config.new
29
-
30
- assert_equal(@default_param_filename, config.params_filename())
31
- assert_equal("#{@project_dir}/#{@default_param_filename}", config.project_params_path())
32
- assert_equal("#{@user_dir}/#{@default_param_filename}", config.user_params_path())
33
- assert_equal("#{@system_dir}/#{@default_param_filename}", config.system_params_path())
34
- end
35
-
36
- def test_custom_params_filename
37
- config = Nugrant::Config.new({:params_filename => ".customparams"})
38
-
39
- assert_equal(".customparams", config.params_filename())
40
- assert_equal("#{@project_dir}/.customparams", config.project_params_path())
41
- assert_equal("#{@user_dir}/.customparams", config.user_params_path())
42
- assert_equal("#{@system_dir}/.customparams", config.system_params_path())
43
- end
44
-
45
- def test_custom_params_filename_after_creation
46
- config = Nugrant::Config.new({:params_filename => ".vagrantuser"})
47
-
48
- config.params_filename = ".customparams"
49
-
50
- assert_equal(".customparams", config.params_filename())
51
- assert_equal("#{@project_dir}/.customparams", config.project_params_path())
52
- assert_equal("#{@user_dir}/.customparams", config.user_params_path())
53
- assert_equal("#{@system_dir}/.customparams", config.system_params_path())
54
- end
55
-
56
- def test_custom_project_params_path
57
- config = Nugrant::Config.new({
58
- :params_filename => ".customparams",
59
- :project_params_path => "#{@user_dir}/.projectcustomparams"
60
- })
61
-
62
- assert_equal(".customparams", config.params_filename())
63
- assert_equal("#{@user_dir}/.projectcustomparams", config.project_params_path())
64
- end
65
-
66
- def test_custom_user_params_path
67
- config = Nugrant::Config.new({
68
- :params_filename => ".customparams",
69
- :user_params_path => "#{@system_dir}/.usercustomparams"
70
- })
71
-
72
- assert_equal(".customparams", config.params_filename())
73
- assert_equal("#{@system_dir}/.usercustomparams", config.user_params_path()) end
74
-
75
- def test_custom_system_params_path
76
- config = Nugrant::Config.new({
77
- :params_filename => ".customparams",
78
- :system_params_path => "#{@project_dir}/.systemcustomparams"
79
- })
80
-
81
- assert_equal(".customparams", config.params_filename())
82
- assert_equal("#{@project_dir}/.systemcustomparams", config.system_params_path())
83
- end
84
-
85
- def test_custom_all
86
- config = Nugrant::Config.new({
87
- :params_filename => ".customparams",
88
- :project_params_path => "#{@user_dir}/.projectcustomparams",
89
- :user_params_path => "#{@system_dir}/.usercustomparams",
90
- :system_params_path => "#{@project_dir}/.systemcustomparams"
91
- })
92
-
93
- assert_equal(".customparams", config.params_filename())
94
- assert_equal("#{@user_dir}/.projectcustomparams", config.project_params_path())
95
- assert_equal("#{@system_dir}/.usercustomparams", config.user_params_path())
96
- assert_equal("#{@project_dir}/.systemcustomparams", config.system_params_path())
97
- end
98
-
99
- def test_nil_project
100
- config = Nugrant::Config.new({
101
- :params_filename => ".customparams",
102
- :project_params_path => nil,
103
- })
104
-
105
- assert_not_nil("#{@project_dir}/.customparams", config.project_params_path())
106
- end
107
-
108
- def test_nil_user
109
- config = Nugrant::Config.new({
110
- :params_filename => ".customparams",
111
- :user_params_path => nil,
112
- })
113
-
114
- assert_equal("#{@user_dir}/.customparams", config.user_params_path())
115
- end
116
-
117
- def test_nil_system
118
- config = Nugrant::Config.new({
119
- :params_filename => ".customparams",
120
- :system_params_path => nil,
121
- })
4
+ require 'nugrant/config'
122
5
 
123
- assert_equal("#{@system_dir}/.customparams", config.system_params_path())
6
+ module Nugrant
7
+ class TestConfig < ::Minitest::Test
8
+ def setup
9
+ @default_param_filename = Nugrant::Config::DEFAULT_PARAMS_FILENAME
10
+
11
+ @old_working_dir = Dir.getwd()
12
+ @user_dir = Nugrant::Config.user_base_path()
13
+ @system_dir = Nugrant::Config.system_base_path()
14
+
15
+ Dir.chdir(Dir.tmpdir())
16
+
17
+ @project_dir = Dir.getwd()
18
+ end
19
+
20
+ def teardown
21
+ Dir.chdir(@old_working_dir)
22
+
23
+ @old_working_dir = nil
24
+ @project_dir = nil
25
+ @user_dir = nil
26
+ @system_dir = nil
27
+ end
28
+
29
+ def test_default_values
30
+ config = Nugrant::Config.new
31
+
32
+ assert_equal(@default_param_filename, config.params_filename())
33
+ assert_equal("#{@project_dir}/#{@default_param_filename}", config.project_params_path())
34
+ assert_equal("#{@user_dir}/#{@default_param_filename}", config.user_params_path())
35
+ assert_equal("#{@system_dir}/#{@default_param_filename}", config.system_params_path())
36
+ end
37
+
38
+ def test_custom_params_filename
39
+ config = Nugrant::Config.new({:params_filename => ".customparams"})
40
+
41
+ assert_equal(".customparams", config.params_filename())
42
+ assert_equal("#{@project_dir}/.customparams", config.project_params_path())
43
+ assert_equal("#{@user_dir}/.customparams", config.user_params_path())
44
+ assert_equal("#{@system_dir}/.customparams", config.system_params_path())
45
+ end
46
+
47
+ def test_custom_params_filename_after_creation
48
+ config = Nugrant::Config.new({:params_filename => ".vagrantuser"})
49
+
50
+ config.params_filename = ".customparams"
51
+
52
+ assert_equal(".customparams", config.params_filename())
53
+ assert_equal("#{@project_dir}/.customparams", config.project_params_path())
54
+ assert_equal("#{@user_dir}/.customparams", config.user_params_path())
55
+ assert_equal("#{@system_dir}/.customparams", config.system_params_path())
56
+ end
57
+
58
+ def test_custom_project_params_path
59
+ config = Nugrant::Config.new({
60
+ :params_filename => ".customparams",
61
+ :project_params_path => "#{@user_dir}/.projectcustomparams"
62
+ })
63
+
64
+ assert_equal(".customparams", config.params_filename())
65
+ assert_equal("#{@user_dir}/.projectcustomparams", config.project_params_path())
66
+ end
67
+
68
+ def test_custom_user_params_path
69
+ config = Nugrant::Config.new({
70
+ :params_filename => ".customparams",
71
+ :user_params_path => "#{@system_dir}/.usercustomparams"
72
+ })
73
+
74
+ assert_equal(".customparams", config.params_filename())
75
+ assert_equal("#{@system_dir}/.usercustomparams", config.user_params_path()) end
76
+
77
+ def test_custom_system_params_path
78
+ config = Nugrant::Config.new({
79
+ :params_filename => ".customparams",
80
+ :system_params_path => "#{@project_dir}/.systemcustomparams"
81
+ })
82
+
83
+ assert_equal(".customparams", config.params_filename())
84
+ assert_equal("#{@project_dir}/.systemcustomparams", config.system_params_path())
85
+ end
86
+
87
+ def test_custom_all
88
+ config = Nugrant::Config.new({
89
+ :params_filename => ".customparams",
90
+ :project_params_path => "#{@user_dir}/.projectcustomparams",
91
+ :user_params_path => "#{@system_dir}/.usercustomparams",
92
+ :system_params_path => "#{@project_dir}/.systemcustomparams"
93
+ })
94
+
95
+ assert_equal(".customparams", config.params_filename())
96
+ assert_equal("#{@user_dir}/.projectcustomparams", config.project_params_path())
97
+ assert_equal("#{@system_dir}/.usercustomparams", config.user_params_path())
98
+ assert_equal("#{@project_dir}/.systemcustomparams", config.system_params_path())
99
+ end
100
+
101
+ def test_nil_project
102
+ config = Nugrant::Config.new({
103
+ :params_filename => ".customparams",
104
+ :project_params_path => nil,
105
+ })
106
+
107
+ assert_equal("#{@project_dir}/.customparams", config.project_params_path())
108
+ end
109
+
110
+ def test_nil_user
111
+ config = Nugrant::Config.new({
112
+ :params_filename => ".customparams",
113
+ :user_params_path => nil,
114
+ })
115
+
116
+ assert_equal("#{@user_dir}/.customparams", config.user_params_path())
117
+ end
118
+
119
+ def test_nil_system
120
+ config = Nugrant::Config.new({
121
+ :params_filename => ".customparams",
122
+ :system_params_path => nil,
123
+ })
124
+
125
+ assert_equal("#{@system_dir}/.customparams", config.system_params_path())
126
+ end
124
127
  end
125
128
  end
@@ -1,235 +1,257 @@
1
+ require 'minitest/autorun'
2
+
1
3
  require 'nugrant'
2
4
  require 'nugrant/parameters'
3
- require 'test/unit'
4
-
5
- class Nugrant::TestParameters < Test::Unit::TestCase
6
5
 
7
- @@PARAMS_FILETYPES = ["json", "yml"]
8
- @@INVALID_PATH = "impossible_file_path.yml.impossible"
6
+ module Nugrant
7
+ class TestParameters < ::Minitest::Test
9
8
 
10
- def create_parameters(params_filetype, project_params_filename, user_params_filename, system_params_filename)
11
- resource_path = File.expand_path("#{File.dirname(__FILE__)}/../../resources/#{params_filetype}")
9
+ @@PARAMS_FILETYPES = [:json, :yml]
10
+ @@INVALID_PATH = "impossible_file_path.yml.impossible"
12
11
 
13
- project_params_path = "#{resource_path}/#{project_params_filename}.#{params_filetype}" if project_params_filename
14
- user_params_path = "#{resource_path}/#{user_params_filename}.#{params_filetype}" if user_params_filename
15
- system_params_path = "#{resource_path}/#{system_params_filename}.#{params_filetype}" if system_params_filename
12
+ def create_parameters(params_filetype, project_params_filename, user_params_filename, system_params_filename)
13
+ resource_path = File.expand_path("#{File.dirname(__FILE__)}/../../resources/#{params_filetype.to_s()}")
16
14
 
17
- return Nugrant::create_parameters({
18
- :params_filetype => params_filetype,
19
- :project_params_path => project_params_path,
20
- :user_params_path => user_params_path,
21
- :system_params_path => system_params_path
22
- })
23
- end
15
+ project_params_path = "#{resource_path}/#{project_params_filename}.#{params_filetype}" if project_params_filename
16
+ user_params_path = "#{resource_path}/#{user_params_filename}.#{params_filetype}" if user_params_filename
17
+ system_params_path = "#{resource_path}/#{system_params_filename}.#{params_filetype}" if system_params_filename
24
18
 
25
- def assert_all_access_equal(value, parameters, key)
26
- assert_equal(value, parameters.method_missing(key.to_sym), "parameters.#{key.to_sym.inspect}")
27
- assert_equal(value, parameters[key.to_s], "parameters[#{key.to_s.inspect}]")
28
- assert_equal(value, parameters[key.to_sym], "parameters[#{key.to_sym.inspect}]")
29
- end
19
+ return Nugrant::create_parameters({
20
+ :params_filetype => params_filetype,
21
+ :project_params_path => project_params_path,
22
+ :user_params_path => user_params_path,
23
+ :system_params_path => system_params_path
24
+ })
25
+ end
30
26
 
31
- def assert_level(parameters, results)
32
- results.each do |key, value|
33
- assert_all_access_equal(value, parameters, key)
27
+ def assert_all_access_equal(value, parameters, key)
28
+ assert_equal(value, parameters.method_missing(key.to_sym), "parameters.#{key.to_sym.inspect}")
29
+ assert_equal(value, parameters[key.to_s], "parameters[#{key.to_s.inspect}]")
30
+ assert_equal(value, parameters[key.to_sym], "parameters[#{key.to_sym.inspect}]")
34
31
  end
35
32
 
36
- assert_key_error(parameters, "0.0.0")
37
- end
33
+ def assert_level(parameters, results)
34
+ results.each do |key, value|
35
+ assert_all_access_equal(value, parameters, key)
36
+ end
38
37
 
39
- def assert_key_error(parameters, key)
40
- assert_raise(KeyError) do
41
- parameters[key]
38
+ assert_key_error(parameters, "0.0.0")
42
39
  end
43
- end
44
40
 
45
- def test_params_level_1()
46
- filetypes.each do |params_filetype|
47
- parameters = create_parameters(params_filetype, "params_project_1", "params_user_1", "params_system_1")
48
-
49
- assert_level(parameters, {
50
- "1.1.1" => "project",
51
- "1.1.0" => "project",
52
- "1.0.1" => "project",
53
- "0.1.1" => "user",
54
- "1.0.0" => "project",
55
- "0.1.0" => "user",
56
- "0.0.1" => "system",
57
- })
41
+ def assert_key_error(parameters, key)
42
+ assert_raises(KeyError) do
43
+ parameters[key]
44
+ end
58
45
  end
59
- end
60
46
 
61
- def test_params_level_2()
62
- filetypes.each do |params_filetype|
63
- parameters = create_parameters(params_filetype, "params_project_2", "params_user_2", "params_system_2")
64
-
65
- run_second_level(parameters, "1.1.1", {
66
- "1.1.1" => "project",
67
- "1.1.0" => "project",
68
- "1.0.1" => "project",
69
- "0.1.1" => "user",
70
- "1.0.0" => "project",
71
- "0.1.0" => "user",
72
- "0.0.1" => "system",
73
- })
47
+ def test_params_level_1()
48
+ filetypes.each do |params_filetype|
49
+ parameters = create_parameters(params_filetype, "params_project_1", "params_user_1", "params_system_1")
50
+
51
+ assert_level(parameters, {
52
+ "1.1.1" => "project",
53
+ "1.1.0" => "project",
54
+ "1.0.1" => "project",
55
+ "0.1.1" => "user",
56
+ "1.0.0" => "project",
57
+ "0.1.0" => "user",
58
+ "0.0.1" => "system",
59
+ })
60
+ end
61
+ end
74
62
 
75
- run_second_level(parameters, "1.1.0", {
76
- "1.1.1" => "project",
77
- "1.1.0" => "project",
78
- "1.0.1" => "project",
79
- "0.1.1" => "user",
80
- "1.0.0" => "project",
81
- "0.1.0" => "user",
82
- })
63
+ def test_params_level_2()
64
+ filetypes.each do |params_filetype|
65
+ parameters = create_parameters(params_filetype, "params_project_2", "params_user_2", "params_system_2")
66
+
67
+ run_second_level(parameters, "1.1.1", {
68
+ "1.1.1" => "project",
69
+ "1.1.0" => "project",
70
+ "1.0.1" => "project",
71
+ "0.1.1" => "user",
72
+ "1.0.0" => "project",
73
+ "0.1.0" => "user",
74
+ "0.0.1" => "system",
75
+ })
76
+
77
+ run_second_level(parameters, "1.1.0", {
78
+ "1.1.1" => "project",
79
+ "1.1.0" => "project",
80
+ "1.0.1" => "project",
81
+ "0.1.1" => "user",
82
+ "1.0.0" => "project",
83
+ "0.1.0" => "user",
84
+ })
85
+
86
+ run_second_level(parameters, "1.0.1", {
87
+ "1.1.1" => "project",
88
+ "1.1.0" => "project",
89
+ "1.0.1" => "project",
90
+ "0.1.1" => "system",
91
+ "1.0.0" => "project",
92
+ "0.0.1" => "system",
93
+ })
94
+
95
+ run_second_level(parameters, "0.1.1", {
96
+ "1.1.1" => "user",
97
+ "1.1.0" => "user",
98
+ "1.0.1" => "system",
99
+ "0.1.1" => "user",
100
+ "0.1.0" => "user",
101
+ "0.0.1" => "system",
102
+ })
103
+
104
+ run_second_level(parameters, "1.0.0", {
105
+ "1.1.1" => "project",
106
+ "1.1.0" => "project",
107
+ "1.0.1" => "project",
108
+ "1.0.0" => "project",
109
+ })
110
+
111
+ run_second_level(parameters, "0.1.0", {
112
+ "1.1.1" => "user",
113
+ "1.1.0" => "user",
114
+ "0.1.1" => "user",
115
+ "0.1.0" => "user",
116
+ })
117
+
118
+ run_second_level(parameters, "0.0.1", {
119
+ "1.1.1" => "system",
120
+ "1.0.1" => "system",
121
+ "0.1.1" => "system",
122
+ "0.0.1" => "system",
123
+ })
124
+
125
+ assert_key_error(parameters, "0.0.0")
126
+ end
127
+ end
83
128
 
84
- run_second_level(parameters, "1.0.1", {
85
- "1.1.1" => "project",
86
- "1.1.0" => "project",
87
- "1.0.1" => "project",
88
- "0.1.1" => "system",
89
- "1.0.0" => "project",
90
- "0.0.1" => "system",
91
- })
129
+ def run_second_level(parameters, key, results)
130
+ assert_level(parameters.send(key), results)
131
+ assert_level(parameters[key], results)
92
132
 
93
- run_second_level(parameters, "0.1.1", {
94
- "1.1.1" => "user",
95
- "1.1.0" => "user",
96
- "1.0.1" => "system",
97
- "0.1.1" => "user",
98
- "0.1.0" => "user",
99
- "0.0.1" => "system",
100
- })
133
+ assert_key_error(parameters, "0.0.0")
134
+ end
101
135
 
102
- run_second_level(parameters, "1.0.0", {
103
- "1.1.1" => "project",
104
- "1.1.0" => "project",
105
- "1.0.1" => "project",
106
- "1.0.0" => "project",
107
- })
136
+ def test_params_array()
137
+ file_path = "params_array"
138
+ filetypes.each do |params_filetype|
139
+ parameters = create_parameters(params_filetype, file_path, invalid_path, invalid_path)
108
140
 
109
- run_second_level(parameters, "0.1.0", {
110
- "1.1.1" => "user",
111
- "1.1.0" => "user",
112
- "0.1.1" => "user",
113
- "0.1.0" => "user",
114
- })
141
+ assert_equal(["1", "2", "3"], parameters['level1']['level2'])
142
+ end
143
+ end
115
144
 
116
- run_second_level(parameters, "0.0.1", {
117
- "1.1.1" => "system",
118
- "1.0.1" => "system",
119
- "0.1.1" => "system",
120
- "0.0.1" => "system",
121
- })
145
+ def test_file_nil()
146
+ run_test_file_invalid(nil)
147
+ end
122
148
 
123
- assert_key_error(parameters, "0.0.0")
149
+ def test_file_does_not_exist()
150
+ run_test_file_invalid("impossible_file_path.yml.impossible")
124
151
  end
125
- end
126
152
 
127
- def run_second_level(parameters, key, results)
128
- assert_level(parameters.send(key), results)
129
- assert_level(parameters[key], results)
153
+ def run_test_file_invalid(invalid_value)
154
+ filetypes.each do |params_filetype|
155
+ parameters = create_parameters(params_filetype, "params_simple", invalid_path, invalid_path)
156
+ assert_all_access_equal("value", parameters, "test")
130
157
 
131
- assert_key_error(parameters, "0.0.0")
132
- end
158
+ parameters = create_parameters(params_filetype, invalid_path, "params_simple", invalid_path)
159
+ assert_all_access_equal("value", parameters, "test")
133
160
 
134
- def test_params_array()
135
- file_path = "params_array"
136
- filetypes.each do |params_filetype|
137
- parameters = create_parameters(params_filetype, file_path, invalid_path, invalid_path)
161
+ parameters = create_parameters(params_filetype, invalid_path, invalid_path, "params_simple")
162
+ assert_all_access_equal("value", parameters, "test")
138
163
 
139
- assert_equal(["1", "2", "3"], parameters['level1']['level2'])
164
+ parameters = create_parameters(params_filetype, invalid_path, invalid_path, invalid_path)
165
+ assert(parameters)
166
+ end
140
167
  end
141
- end
142
-
143
- def test_file_nil()
144
- run_test_file_invalid(nil)
145
- end
146
-
147
- def test_file_does_not_exist()
148
- run_test_file_invalid("impossible_file_path.yml.impossible")
149
- end
150
168
 
151
- def run_test_file_invalid(invalid_value)
152
- filetypes.each do |params_filetype|
153
- parameters = create_parameters(params_filetype, "params_simple", invalid_path, invalid_path)
154
- assert_all_access_equal("value", parameters, "test")
169
+ def test_params_windows_eol()
170
+ run_test_params_eol("params_windows_eol")
171
+ end
155
172
 
156
- parameters = create_parameters(params_filetype, invalid_path, "params_simple", invalid_path)
157
- assert_all_access_equal("value", parameters, "test")
173
+ def test_params_unix_eol()
174
+ run_test_params_eol("params_unix_eol")
175
+ end
158
176
 
159
- parameters = create_parameters(params_filetype, invalid_path, invalid_path, "params_simple")
160
- assert_all_access_equal("value", parameters, "test")
177
+ def run_test_params_eol(file_path)
178
+ filetypes.each do |params_filetype|
179
+ parameters = create_parameters(params_filetype, file_path, invalid_path, invalid_path)
161
180
 
162
- parameters = create_parameters(params_filetype, invalid_path, invalid_path, invalid_path)
163
- assert_not_nil(parameters)
181
+ assert_all_access_equal("value1", parameters, 'level1')
182
+ assert_all_access_equal("value2", parameters['level2'], 'first')
183
+ end
164
184
  end
165
- end
166
185
 
167
- def test_params_windows_eol()
168
- run_test_params_eol("params_windows_eol")
169
- end
186
+ def test_restricted_defaults_usage()
187
+ filetypes.each do |params_filetype|
188
+ parameters = create_parameters(params_filetype, "params_defaults_at_root", invalid_path, invalid_path)
170
189
 
171
- def test_params_unix_eol()
172
- run_test_params_eol("params_unix_eol")
173
- end
190
+ assert_all_access_equal("value", parameters, :defaults)
191
+ end
174
192
 
175
- def run_test_params_eol(file_path)
176
- filetypes.each do |params_filetype|
177
- parameters = create_parameters(params_filetype, file_path, invalid_path, invalid_path)
193
+ filetypes.each do |params_filetype|
194
+ parameters = create_parameters(params_filetype, "params_defaults_not_at_root", invalid_path, invalid_path)
178
195
 
179
- assert_all_access_equal("value1", parameters, 'level1')
180
- assert_all_access_equal("value2", parameters['level2'], 'first')
196
+ assert_all_access_equal("value", parameters.level, :defaults)
197
+ end
181
198
  end
182
- end
183
199
 
184
- def test_restricted_defaults_usage()
185
- filetypes.each do |params_filetype|
186
- parameters = create_parameters(params_filetype, "params_defaults_at_root", invalid_path, invalid_path)
200
+ def test_defaults()
201
+ filetypes.each do |params_filetype|
202
+ parameters = create_parameters(params_filetype, "params_simple", invalid_path, invalid_path)
203
+ parameters.defaults = {"test" => "override1", "level" => "new1"}
187
204
 
188
- assert_all_access_equal("value", parameters, :defaults)
205
+ assert_all_access_equal("value", parameters, 'test')
206
+ assert_all_access_equal("new1", parameters, 'level')
207
+ end
189
208
  end
190
209
 
191
- filetypes.each do |params_filetype|
192
- parameters = create_parameters(params_filetype, "params_defaults_not_at_root", invalid_path, invalid_path)
210
+ def test_empty_file()
211
+ filetypes.each do |params_filetype|
212
+ parameters = create_parameters(params_filetype, "params_empty", invalid_path, invalid_path)
213
+ parameters.defaults = {"test" => "value"}
193
214
 
194
- assert_all_access_equal("value", parameters.level, :defaults)
215
+ assert_all_access_equal("value", parameters, 'test')
216
+ end
195
217
  end
196
- end
197
218
 
198
- def test_defaults()
199
- filetypes.each do |params_filetype|
200
- parameters = create_parameters(params_filetype, "params_simple", invalid_path, invalid_path)
201
- parameters.defaults = {"test" => "override1", "level" => "new1"}
219
+ def test_file_not_hash()
220
+ ["boolean", "list"].each do |wrong_type|
221
+ filetypes.each do |params_filetype|
222
+ parameters = create_parameters(params_filetype, "params_#{wrong_type}", invalid_path, invalid_path)
223
+ parameters.defaults = {"test" => "value"}
202
224
 
203
- assert_all_access_equal("value", parameters, 'test')
204
- assert_all_access_equal("new1", parameters, 'level')
225
+ assert_all_access_equal("value", parameters, 'test')
226
+ end
227
+ end
205
228
  end
206
- end
207
229
 
208
- def test_empty_file()
209
- filetypes.each do |params_filetype|
210
- parameters = create_parameters(params_filetype, "params_empty", invalid_path, invalid_path)
211
- parameters.defaults = {"test" => "value"}
230
+ def test_nil_values()
231
+ filetypes.each do |params_filetype|
232
+ parameters = create_parameters(params_filetype, "params_user_nil_values", invalid_path, invalid_path)
233
+ parameters.defaults = {:nil => "Not nil", :deep => {:nil => "Not nil", :deeper => {:nil => "Not nil"}}}
212
234
 
213
- assert_all_access_equal("value", parameters, 'test')
214
- end
215
- end
235
+ assert_all_access_equal("Not nil", parameters[:deep][:deeper], :nil)
236
+ assert_all_access_equal("Not nil", parameters[:deep], :nil)
237
+ assert_all_access_equal("Not nil", parameters, :nil)
238
+ end
216
239
 
217
- def test_file_not_hash()
218
- ["boolean", "list"].each do |wrong_type|
219
240
  filetypes.each do |params_filetype|
220
- parameters = create_parameters(params_filetype, "params_#{wrong_type}", invalid_path, invalid_path)
221
- parameters.defaults = {"test" => "value"}
241
+ parameters = create_parameters(params_filetype, "params_user_nil_values", invalid_path, invalid_path)
222
242
 
223
- assert_all_access_equal("value", parameters, 'test')
243
+ assert_all_access_equal(nil, parameters[:deep][:deeper], :nil)
244
+ assert_all_access_equal(nil, parameters[:deep], :nil)
245
+ assert_all_access_equal(nil, parameters, :nil)
224
246
  end
225
247
  end
226
- end
227
248
 
228
- def filetypes()
229
- @@PARAMS_FILETYPES
230
- end
249
+ def filetypes()
250
+ @@PARAMS_FILETYPES
251
+ end
231
252
 
232
- def invalid_path()
233
- @@INVALID_PATH
253
+ def invalid_path()
254
+ @@INVALID_PATH
255
+ end
234
256
  end
235
257
  end