Move the module_injector

This commit is contained in:
Dave Halter
2021-01-14 01:35:18 +01:00
parent 837cb1106a
commit 2a8b212af7
2 changed files with 21 additions and 18 deletions

View File

@@ -1,8 +1,6 @@
import os import os
import sys import sys
import subprocess import subprocess
from itertools import count
from pathlib import Path
import pytest import pytest
@@ -11,9 +9,6 @@ from . import run
from . import refactor from . import refactor
from jedi import InterpreterEnvironment, get_system_environment from jedi import InterpreterEnvironment, get_system_environment
from jedi.inference.compiled.value import create_from_access_path from jedi.inference.compiled.value import create_from_access_path
from jedi.inference.imports import _load_python_module
from jedi.file_io import KnownContentFileIO
from jedi.inference.base_value import ValueSet
from jedi.api.interpreter import MixedModuleContext from jedi.api.interpreter import MixedModuleContext
# For interpreter tests sometimes the path of this directory is in the sys # For interpreter tests sometimes the path of this directory is in the sys
@@ -164,19 +159,6 @@ def create_compiled_object(inference_state):
) )
@pytest.fixture
def module_injector():
counter = count()
def module_injector(inference_state, names, code):
assert isinstance(names, tuple)
file_io = KnownContentFileIO(Path('/foo/bar/module-injector-%s.py') % next(counter), code)
v = _load_python_module(inference_state, file_io, names)
inference_state.module_cache.add(names, ValueSet([v]))
return module_injector
@pytest.fixture(params=[False, True]) @pytest.fixture(params=[False, True])
def class_findable(monkeypatch, request): def class_findable(monkeypatch, request):
if not request.param: if not request.param:

View File

@@ -1,11 +1,16 @@
from os.path import join, sep as s, dirname, expanduser from os.path import join, sep as s, dirname, expanduser
import os import os
from textwrap import dedent from textwrap import dedent
from itertools import count
from pathlib import Path
import pytest import pytest
from ..helpers import root_dir from ..helpers import root_dir
from jedi.api.helpers import _start_match, _fuzzy_match from jedi.api.helpers import _start_match, _fuzzy_match
from jedi.inference.imports import _load_python_module
from jedi.file_io import KnownContentFileIO
from jedi.inference.base_value import ValueSet
def test_in_whitespace(Script): def test_in_whitespace(Script):
@@ -400,6 +405,22 @@ def test_ellipsis_completion(Script):
assert Script('...').complete() == [] assert Script('...').complete() == []
@pytest.fixture
def module_injector():
counter = count()
def module_injector(inference_state, names, code):
assert isinstance(names, tuple)
file_io = KnownContentFileIO(
Path('/foo/bar/module-injector-%s.py' % next(counter)),
code
)
v = _load_python_module(inference_state, file_io, names)
inference_state.module_cache.add(names, ValueSet([v]))
return module_injector
def test_completion_cache(Script, module_injector): def test_completion_cache(Script, module_injector):
""" """
For some modules like numpy, tensorflow or pandas we cache docstrings and For some modules like numpy, tensorflow or pandas we cache docstrings and