mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-02-03 19:00:06 +08:00
40 lines
1.2 KiB
Python
Vendored
40 lines
1.2 KiB
Python
Vendored
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()]
|