diff --git a/mopidy/config/__init__.py b/mopidy/config/__init__.py index a4e7a364..935f8743 100644 --- a/mopidy/config/__init__.py +++ b/mopidy/config/__init__.py @@ -137,4 +137,4 @@ def parse_override(override): """Parse section/key=value override.""" section, remainder = override.split('/', 1) key, value = remainder.split('=', 1) - return (section, key, value) + return (section.strip(), key.strip(), value.strip()) diff --git a/tests/config/config_test.py b/tests/config/config_test.py index bb161a8f..bb24e3a2 100644 --- a/tests/config/config_test.py +++ b/tests/config/config_test.py @@ -47,3 +47,22 @@ class LoadConfigTest(unittest.TestCase): expected = {'foo': {'bar': 'baz'}, 'foo2': {'bar': 'baz'}} result = config._load([file1, file2], [], []) self.assertEqual(expected, result) + + +class ParseOverrideTest(unittest.TestCase): + def test_valid_override(self): + expected = ('section', 'key', 'value') + self.assertEqual(expected, config.parse_override('section/key=value')) + self.assertEqual(expected, config.parse_override('section/key=value ')) + self.assertEqual(expected, config.parse_override('section/key =value')) + self.assertEqual(expected, config.parse_override('section /key=value')) + + def test_empty_override(self): + expected = ('section', 'key', '') + self.assertEqual(expected, config.parse_override('section/key=')) + self.assertEqual(expected, config.parse_override('section/key= ')) + + def test_invalid_override(self): + self.assertRaises(ValueError, config.parse_override, 'section/key') + self.assertRaises(ValueError, config.parse_override, 'section=') + self.assertRaises(ValueError, config.parse_override, 'section')