diff options
author | Lars Wirzenius <liw@liw.fi> | 2011-08-29 17:40:23 +0100 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2011-08-29 17:40:23 +0100 |
commit | 1b064a125aadc6fb4bbd61b6bfad897aa87382ab (patch) | |
tree | 224be5dfc5c44760c86554f043686dad8ae68cf1 /cliapp/settings_tests.py | |
parent | d94a679d0783e69dfd590b8bda098e6467ce25d1 (diff) | |
download | cliapp-1b064a125aadc6fb4bbd61b6bfad897aa87382ab.tar.gz |
Add test case for desired behavior of options overriding values from config files.
Diffstat (limited to 'cliapp/settings_tests.py')
-rw-r--r-- | cliapp/settings_tests.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/cliapp/settings_tests.py b/cliapp/settings_tests.py index b0e87fe..7201961 100644 --- a/cliapp/settings_tests.py +++ b/cliapp/settings_tests.py @@ -284,6 +284,23 @@ bar = ping, pong self.assertEqual(self.settings['foo'], 'yeehaa') self.assertEqual(self.settings['bar'], ['ping', 'pong']) + def test_handles_values_from_config_files_overridden_on_command_line(self): + + def mock_open(filename, mode=None): + return StringIO.StringIO('''\ +[config] +foo = yeehaa +bar = ping, pong +''') + + self.settings.string(['foo'], 'foo help', default='foo') + self.settings.string_list(['bar'], 'bar help', default=['bar']) + self.settings.config_files = ['whatever.conf'] + self.settings.load_configs(open=mock_open) + self.settings.parse_args(['--foo=red', '--bar=blue', '--bar=white']) + self.assertEqual(self.settings['foo'], 'red') + self.assertEqual(self.settings['bar'], ['blue', 'white']) + def test_load_configs_ignore_errors_opening_a_file(self): def mock_open(filename, mode=None): |