summaryrefslogtreecommitdiffstats
path: root/deluge/tests/test_ui_console.py
diff options
context:
space:
mode:
Diffstat (limited to 'deluge/tests/test_ui_console.py')
-rw-r--r--deluge/tests/test_ui_console.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/deluge/tests/test_ui_console.py b/deluge/tests/test_ui_console.py
index 8c67322ee..da97f5c15 100644
--- a/deluge/tests/test_ui_console.py
+++ b/deluge/tests/test_ui_console.py
@@ -11,6 +11,7 @@ import argparse
from deluge.common import windows_check
from deluge.ui.console.cmdline.commands.add import Command
+from deluge.ui.console.cmdline.commands.config import json_eval
from deluge.ui.console.widgets.fields import TextInput
from .basetest import BaseTestCase
@@ -65,3 +66,28 @@ class UIConsoleCommandsTestCase(BaseTestCase):
self.assertEqual(args.move_completed_path, completed_path)
args = parser.parse_args(['torrent', '--move-path', completed_path])
self.assertEqual(args.move_completed_path, completed_path)
+
+ def test_config_json_eval(self):
+ self.assertEqual(json_eval('/downloads'), '/downloads')
+ self.assertEqual(json_eval('/dir/with space'), '/dir/with space')
+ self.assertEqual(json_eval('c:\\\\downloads'), 'c:\\\\downloads')
+ self.assertEqual(json_eval('c:/downloads'), 'c:/downloads')
+ # Ensure newlines are split and only first setting is used.
+ self.assertEqual(json_eval('setting\nwithneline'), 'setting')
+ # Allow both parentheses and square brackets.
+ self.assertEqual(json_eval('(8000, 8001)'), [8000, 8001])
+ self.assertEqual(json_eval('[8000, 8001]'), [8000, 8001])
+ self.assertEqual(json_eval('["abc", "def"]'), ['abc', 'def'])
+ self.assertEqual(json_eval('{"foo": "bar"}'), {'foo': 'bar'})
+ self.assertEqual(json_eval('{"number": 1234}'), {'number': 1234})
+ # Hex string for peer_tos.
+ self.assertEqual(json_eval('0x00'), '0x00')
+ self.assertEqual(json_eval('1000'), 1000)
+ self.assertEqual(json_eval('-6'), -6)
+ self.assertEqual(json_eval('10.5'), 10.5)
+ self.assertEqual(json_eval('True'), True)
+ self.assertEqual(json_eval('false'), False)
+ self.assertEqual(json_eval('none'), None)
+ # Empty values to clear config key.
+ self.assertEqual(json_eval('[]'), [])
+ self.assertEqual(json_eval(''), '')