From 73fb143f45166c97541852a201ab52e24980071b Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Wed, 3 Apr 2013 01:00:34 +0200 Subject: [PATCH] config: String escape strings --- mopidy/utils/config.py | 2 +- tests/utils/config_test.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/mopidy/utils/config.py b/mopidy/utils/config.py index 30cf873f..1a3127b5 100644 --- a/mopidy/utils/config.py +++ b/mopidy/utils/config.py @@ -104,7 +104,7 @@ class String(ConfigValue): return value def serialize(self, value): - return value.encode('utf-8') + return value.encode('utf-8').encode('string-escape') class Integer(ConfigValue): diff --git a/tests/utils/config_test.py b/tests/utils/config_test.py index f2465b4e..77c846df 100644 --- a/tests/utils/config_test.py +++ b/tests/utils/config_test.py @@ -128,6 +128,10 @@ class StringTest(unittest.TestCase): self.assertIsNone(value.deserialize('')) self.assertIsNone(value.deserialize(' ')) + def test_serialize_string_escapes(self): + value = config.String() + self.assertEqual(r'\r\n\t', value.serialize('\r\n\t')) + def test_format_masks_secrets(self): value = config.String(secret=True) self.assertEqual('********', value.format('s3cret'))