Files
jedi/test/completion/classes.py

95 lines
1.6 KiB
Python

# set variables, which should not be included, because they don't belong to the
# class
second = 1
second = ""
class TestClass(object):
var_class = TestClass(1)
def __init__(self2, first_param, second_param):
self2.var_inst = first_param
self2.second = second_param
self2.first = first_param
def var_func(self):
return 1
def get_first(self):
# traversal
self.second_new = self.second
return self.var_inst
def values(self):
self.var_local = 3
#? ['var_class', 'var_func', 'var_inst', 'var_local']
self.var_
def ret(self, a1):
return a1
# should not work
#? []
var_local
#? []
var_inst
#? []
var_func
# instance
inst = TestClass(1)
#? ['var_class', 'var_func', 'var_inst', 'var_local']
inst.var
#? ['var_class', 'var_func']
TestClass.var
#? ['real']
inst.var_local.real
#? []
TestClass.var_local.real
#? ['real']
TestClass().ret(1).real
#? ['real']
inst.ret(1).real
myclass = TestClass(1, '')
#? ['real']
myclass.get_first().real
#? []
myclass.get_first().upper
#? []
myclass.get_first.real
# too many params
#? ['real']
TestClass(1,1,1).var_inst.real
# too few params
#? ['real']
TestClass(1).first.real
#? []
TestClass(1).second.real
# complicated variable settings in class
#? ['upper']
myclass.second.upper
#? []
myclass.second.real
#? ['upper']
myclass.second_new.upper
#? []
myclass.second_new.real
# multiple classes / ordering
ints = TestClass(1, 1.0)
strs = TestClass("", '')
#? ['real']
ints.second.real
#? ['upper']
strs.second.upper
#? ['var_class']
TestClass.var_class.var_class.var_class.var_class