Refactor py__get__ support pretty heavily

This commit is contained in:
Dave Halter
2018-11-01 19:09:07 +01:00
parent 52aa5b6764
commit fbc327b960
7 changed files with 38 additions and 37 deletions

View File

@@ -1,8 +1,7 @@
import os
from jedi.plugins import typeshed
from jedi.evaluate.context import TreeInstance, BoundMethod, \
ClassContext
from jedi.evaluate.context import TreeInstance, BoundMethod
from parso.utils import PythonVersionInfo
from jedi.evaluate.filters import TreeNameDefinition
@@ -48,7 +47,7 @@ def test_function(Script):
def_, = Script(code + '()').goto_definitions()
context = def_._name._context
assert isinstance(context, TreeInstance)
assert isinstance(context.class_context, ClassContext), context
assert isinstance(context.class_context, typeshed.StubOnlyClass), context
def_, = Script('import threading; threading.Thread').goto_definitions()
assert isinstance(def_._name._context, typeshed.StubClassContext), def_
@@ -86,7 +85,7 @@ def test_method(Script):
def_, = Script(code).goto_definitions()
context = def_._name._context
assert isinstance(context, BoundMethod), context
assert isinstance(context._function, typeshed.StubFunctionContext), context
assert isinstance(context._wrapped_context, typeshed.StubFunctionContext), context
def_, = Script(code + '()').goto_definitions()
context = def_._name._context

View File

@@ -3,8 +3,7 @@ import pytest
from jedi import settings
from jedi.evaluate.filters import ContextName
from jedi.evaluate.compiled import CompiledContextName
from jedi.plugins.typeshed import StubContextWithCompiled
from jedi.evaluate.context import FunctionContext
from jedi.plugins.typeshed import StubOnlyModuleContext
@pytest.fixture()
@@ -16,8 +15,7 @@ def test_base_auto_import_modules(auto_import_json, Script):
loads, = Script('import json; json.loads').goto_definitions()
assert isinstance(loads._name, ContextName)
context, = loads._name.infer()
assert isinstance(context, StubContextWithCompiled)
assert isinstance(context._wrapped_context, FunctionContext)
assert isinstance(context.parent_context, StubOnlyModuleContext)
def test_auto_import_modules_imports(auto_import_json, Script):