1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-02-03 21:50:05 +08:00
SpaceVim/bundle/jedi-vim/pythonx/jedi/test/test_settings.py

40 lines
1.2 KiB
Python
Raw Normal View History

2022-10-23 15:41:52 +08:00
import pytest
from jedi import settings
from jedi.inference.compiled import CompiledValueName
from jedi.inference.compiled.value import CompiledModule
@pytest.fixture()
def auto_import_json(monkeypatch):
monkeypatch.setattr(settings, 'auto_import_modules', ['json'])
def test_base_auto_import_modules(auto_import_json, Script):
loads, = Script('import json; json.loads').infer()
assert isinstance(loads._name, CompiledValueName)
value, = loads._name.infer()
assert isinstance(value.parent_context._value, CompiledModule)
def test_auto_import_modules_imports(auto_import_json, Script):
main, = Script('from json import tool; tool.main').infer()
assert isinstance(main._name, CompiledValueName)
def test_cropped_file_size(monkeypatch, get_names, Script):
code = 'class Foo(): pass\n'
monkeypatch.setattr(
settings,
'_cropped_file_size',
len(code)
)
foo, = get_names(code + code)
assert foo.line == 1
# It should just not crash if we are outside of the cropped range.
script = Script(code + code + 'Foo')
assert not script.infer()
assert 'Foo' in [c.name for c in script.complete()]