From 2252271bf532fb340031e75349c72897e7eb62a5 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Tue, 25 Feb 2014 12:54:06 +0100 Subject: [PATCH] fix unicode issues with python2.7 --- jedi/parser/user_context.py | 3 +-- scripts/wx_check.py | 2 -- test/test_api/test_unicode.py | 18 ++++++++++++++++++ test/test_regression.py | 15 --------------- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/jedi/parser/user_context.py b/jedi/parser/user_context.py index c2e693c0..9a39691c 100644 --- a/jedi/parser/user_context.py +++ b/jedi/parser/user_context.py @@ -48,7 +48,6 @@ class UserContext(object): while True: self._line_temp -= 1 last_line = self.get_line(self._line_temp) - #print self._line_temp, repr(last_line) if last_line and last_line[-1] == '\\': line = last_line[:-1] + ' ' + line self._line_length = len(last_line) @@ -64,7 +63,7 @@ class UserContext(object): close_brackets = [')', ']', '}'] gen = tokenize.generate_tokens(fetch_line) - string = '' + string = u('') level = 0 force_point = False last_type = None diff --git a/scripts/wx_check.py b/scripts/wx_check.py index 5c6e997e..1e48c39e 100755 --- a/scripts/wx_check.py +++ b/scripts/wx_check.py @@ -37,7 +37,6 @@ def process_memory(): uri = 'http://svn.wxwidgets.org/viewvc/wx/wxPython/trunk/src/gtk/_core.py?revision=74740&content-type=text%2Fplain&view=co' wx_core = urllib2.urlopen(uri).read() -wx_core = wx_core[:1] def run(): @@ -45,7 +44,6 @@ def run(): print('Process Memory before: %skB' % process_memory()) # After this the module should be cached. # Need to invent a path so that it's really cached. - print type(wx_core), wx_core jedi.Script(wx_core, path='foobar.py').completions() gc.collect() # make sure that it's all fair and the gc did its job. diff --git a/test/test_api/test_unicode.py b/test/test_api/test_unicode.py index d6b6cbe1..bcd8ad42 100644 --- a/test/test_api/test_unicode.py +++ b/test/test_api/test_unicode.py @@ -46,3 +46,21 @@ def test_multibyte_script(): pass # python 3 has no unicode method else: assert len(Script(s, 1, len(code)).completions()) + + +def test_goto_definition_at_zero(): + """At zero usually sometimes raises unicode issues.""" + assert Script("a", 1, 1).goto_definitions() == [] + s = Script("str", 1, 1).goto_definitions() + assert len(s) == 1 + assert list(s)[0].description == 'class str' + assert Script("", 1, 0).goto_definitions() == [] + + +def test_complete_at_zero(): + s = Script("str", 1, 3).completions() + assert len(s) == 1 + assert list(s)[0].name == 'str' + + s = Script("", 1, 0).completions() + assert len(s) > 0 diff --git a/test/test_regression.py b/test/test_regression.py index 7f17be96..846307c1 100644 --- a/test/test_regression.py +++ b/test/test_regression.py @@ -56,21 +56,6 @@ class TestRegression(TestCase): self.assertRaises(jedi.NotFoundError, get_def, cls) - def test_goto_definition_at_zero(self): - assert Script("a", 1, 1).goto_definitions() == [] - s = Script("str", 1, 1).goto_definitions() - assert len(s) == 1 - assert list(s)[0].description == 'class str' - assert Script("", 1, 0).goto_definitions() == [] - - def test_complete_at_zero(self): - s = Script("str", 1, 3).completions() - assert len(s) == 1 - assert list(s)[0].name == 'str' - - s = Script("", 1, 0).completions() - assert len(s) > 0 - @pytest.mark.skip('Skip for now, test case is not really supported.') @cwd_at('jedi') def test_add_dynamic_mods(self):