From 64465d318ddb1b10fa13131568d7852558c92ffb Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Sun, 28 Apr 2013 23:28:20 +0200 Subject: [PATCH] config: Ensure that overrides are bytes --- mopidy/config/__init__.py | 4 ++-- tests/config/config_test.py | 26 ++++++++++++++++---------- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/mopidy/config/__init__.py b/mopidy/config/__init__.py index 0386eea8..67725461 100644 --- a/mopidy/config/__init__.py +++ b/mopidy/config/__init__.py @@ -141,8 +141,8 @@ def _format(config, comments, schemas, display): def parse_override(override): """Parse ``section/key=value`` command line overrides""" - section, remainder = override.split('/', 1) - key, value = remainder.split('=', 1) + section, remainder = override.split(b'/', 1) + key, value = remainder.split(b'=', 1) return (section.strip(), key.strip(), value.strip()) diff --git a/tests/config/config_test.py b/tests/config/config_test.py index 84079a2e..1fbe07b0 100644 --- a/tests/config/config_test.py +++ b/tests/config/config_test.py @@ -109,18 +109,24 @@ class ValidateTest(unittest.TestCase): 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')) + expected = (b'section', b'key', b'value') + self.assertEqual(expected, config.parse_override(b'section/key=value')) + self.assertEqual(expected, config.parse_override(b'section/key=value ')) + self.assertEqual(expected, config.parse_override(b'section/key =value')) + self.assertEqual(expected, config.parse_override(b'section /key=value')) + + def test_valid_override_is_bytes(self): + section, key, value = config.parse_override(b'section/key=value') + self.assertIsInstance(section, bytes) + self.assertIsInstance(key, bytes) + self.assertIsInstance(value, bytes) def test_empty_override(self): expected = ('section', 'key', '') - self.assertEqual(expected, config.parse_override('section/key=')) - self.assertEqual(expected, config.parse_override('section/key= ')) + self.assertEqual(expected, config.parse_override(b'section/key=')) + self.assertEqual(expected, config.parse_override(b'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') + self.assertRaises(ValueError, config.parse_override, b'section/key') + self.assertRaises(ValueError, config.parse_override, b'section=') + self.assertRaises(ValueError, config.parse_override, b'section')