174 |
174 |
self.assertEqual(rca._config_arg, config)
|
175 |
175 |
self.assertEqual(arg.mock_calls[-1], call(1, help, pname, default))
|
176 |
176 |
|
|
177 |
@patch('%s.override' % cnf_path)
|
|
178 |
def test_value(self, override):
|
|
179 |
config, help, pname, default = argument._config_arg, 'help', '-n', 'df'
|
|
180 |
config.value = None
|
|
181 |
rca = argument.RuntimeConfigArgument(config, help, pname, default)
|
|
182 |
self.assertEqual(rca.value, default)
|
|
183 |
|
|
184 |
for options in ('grp', 'grp.opt', 'k v', '=nokey', 2.8, None, 42, ''):
|
|
185 |
self.assertRaises(TypeError, rca.value, options)
|
|
186 |
|
|
187 |
for options in ('key=val', 'grp.key=val', 'dotted.opt.key=val'):
|
|
188 |
rca.value = options
|
|
189 |
option, sep, val = options.partition('=')
|
|
190 |
grp, sep, key = option.partition('.')
|
|
191 |
grp, key = (grp, key) if key else ('global', grp)
|
|
192 |
self.assertEqual(override.mock_calls[-1], call(grp, key, val))
|
177 |
193 |
|
178 |
194 |
if __name__ == '__main__':
|
179 |
195 |
from sys import argv
|