mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-08 14:54:47 +08:00
string prefixes are now recognized by the backwards tokenizer
This commit is contained in:
@@ -91,9 +91,12 @@ class UserContext(object):
|
|||||||
elif tok_str == '.':
|
elif tok_str == '.':
|
||||||
force_point = False
|
force_point = False
|
||||||
elif force_point:
|
elif force_point:
|
||||||
# it is reversed, therefore a number is getting recognized
|
# Reversed tokenizing, therefore a number is recognized as a
|
||||||
# as a floating point number
|
# floating point number.
|
||||||
if tok_type == tokenize.NUMBER and tok_str[0] == '.':
|
# The same is true for string prefixes -> represented as a
|
||||||
|
# combination of string and name.
|
||||||
|
if tok_type == tokenize.NUMBER and tok_str[0] == '.' \
|
||||||
|
or tok_type == tokenize.NAME and last_type == tokenize.STRING:
|
||||||
force_point = False
|
force_point = False
|
||||||
else:
|
else:
|
||||||
break
|
break
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
from jedi._compatibility import builtins
|
from jedi._compatibility import builtins, is_py3
|
||||||
from jedi.parser.representation import Function
|
from jedi.parser.representation import Function
|
||||||
from jedi.evaluate import compiled
|
from jedi.evaluate import compiled
|
||||||
from jedi.evaluate import Evaluator
|
from jedi.evaluate import Evaluator
|
||||||
|
from jedi import Script
|
||||||
|
|
||||||
|
|
||||||
def test_simple():
|
def test_simple():
|
||||||
@@ -47,3 +48,19 @@ def test_doc():
|
|||||||
"""
|
"""
|
||||||
obj = compiled.CompiledObject(''.__getnewargs__)
|
obj = compiled.CompiledObject(''.__getnewargs__)
|
||||||
assert obj.doc == ''
|
assert obj.doc == ''
|
||||||
|
|
||||||
|
|
||||||
|
def test_string_literals():
|
||||||
|
def typ(string):
|
||||||
|
d = Script(string).goto_definitions()[0]
|
||||||
|
return d.name
|
||||||
|
|
||||||
|
assert typ('""') == 'str'
|
||||||
|
assert typ('r""') == 'str'
|
||||||
|
if is_py3:
|
||||||
|
assert typ('br""') == 'bytes'
|
||||||
|
assert typ('b""') == 'bytes'
|
||||||
|
assert typ('u""') == 'str'
|
||||||
|
else:
|
||||||
|
assert typ('b""') == 'string'
|
||||||
|
assert typ('u""') == 'unicode'
|
||||||
|
|||||||
Reference in New Issue
Block a user