1
0
forked from VimPlug/jedi

A CompiledInstance is not really compiled, it's an instance of a compiled class value

This commit is contained in:
Dave Halter
2019-12-01 23:50:46 +01:00
parent f43d144e23
commit b8dfbc5d18
3 changed files with 24 additions and 3 deletions

View File

@@ -10,6 +10,7 @@ from . import refactor
import jedi
from jedi.api.environment import InterpreterEnvironment
from jedi.inference.compiled.value import create_from_access_path
def pytest_addoption(parser):
@@ -135,3 +136,11 @@ def same_process_inference_state(Script):
def disable_typeshed(monkeypatch):
from jedi.inference.gradual import typeshed
monkeypatch.setattr(typeshed, '_load_from_typeshed', lambda *args, **kwargs: None)
@pytest.fixture
def create_compiled_object(inference_state):
return lambda obj: create_from_access_path(
inference_state,
inference_state.compiled_subprocess.create_simple_object(obj)
)

View File

@@ -9,6 +9,7 @@ import pytest
from jedi.inference import compiled
from jedi.inference.compiled.access import DirectObjectAccess
from jedi.inference.gradual.conversion import _stub_to_python_value_set
from jedi.inference.syntax_tree import _infer_comparison_part
def test_simple(inference_state, environment):
@@ -169,3 +170,15 @@ def test_qualified_names(same_process_inference_state, obj, expected_names):
DirectObjectAccess(same_process_inference_state, obj)
)
assert o.get_qualified_names() == tuple(expected_names)
def test_operation(Script, inference_state, create_compiled_object):
#b = create_simple_object(inference_state, 'bool')._compiled_obj
b = create_compiled_object(bool)
true, = _infer_comparison_part(
inference_state, b.parent_context,
left=list(b.execute_with_values())[0],
operator='is not',
right=b,
)
assert true.py__name__() == 'bool'