From fdc637c5c4d09b748150c4b93d78a472c54037da Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Tue, 9 Sep 2014 17:08:22 +0200 Subject: [PATCH] Add a forgotten test module, test_sys_path.py and fix Python2/3 compatibility issues. --- test/test_evaluate/test_helpers.py | 2 +- test/test_evaluate/test_sys_path.py | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 test/test_evaluate/test_sys_path.py diff --git a/test/test_evaluate/test_helpers.py b/test/test_evaluate/test_helpers.py index 0844af20..dc827685 100644 --- a/test/test_evaluate/test_helpers.py +++ b/test/test_evaluate/test_helpers.py @@ -13,7 +13,7 @@ def test_deep_ast_copy(): def test_statement_elements_in_statement(): def get_stmt_els(string): - p = Parser(string) + p = Parser(unicode(string)) return helpers.statement_elements_in_statement(p.module.statements[0]) # list comprehension diff --git a/test/test_evaluate/test_sys_path.py b/test/test_evaluate/test_sys_path.py new file mode 100644 index 00000000..8cb313df --- /dev/null +++ b/test/test_evaluate/test_sys_path.py @@ -0,0 +1,16 @@ +from jedi._compatibility import unicode +from jedi.parser import Parser +from jedi.evaluate import sys_path, Evaluator + + +def test_paths_from_assignment(): + def paths(src): + stmt = Parser(unicode(src)).module.statements[0] + return list(sys_path._paths_from_assignment(Evaluator(), stmt)) + + assert paths('sys.path[0:0] = ["a"]') == ['a'] + assert paths('sys.path = ["b", 1, x + 3, y, "c"]') == ['b', 'c'] + assert paths('sys.path = a = ["a"]') == ['a'] + + # Fail for complicated examples. + assert paths('sys.path, other = ["a"], 2') == []