mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-08 14:54:47 +08:00
class/instance tests
This commit is contained in:
2
ftest.py
2
ftest.py
@@ -8,6 +8,7 @@ functions.debug.ignored_modules = ['parsing', 'builtin']
|
|||||||
functions.modules.module_find_path.insert(0, '.')
|
functions.modules.module_find_path.insert(0, '.')
|
||||||
|
|
||||||
f_name = 'parsetest.py'
|
f_name = 'parsetest.py'
|
||||||
|
#f_name = 'test/completion/classes.py'
|
||||||
import os
|
import os
|
||||||
path = os.path.join(os.getcwd(), f_name)
|
path = os.path.join(os.getcwd(), f_name)
|
||||||
|
|
||||||
@@ -15,6 +16,7 @@ f = open(path)
|
|||||||
code = f.read()
|
code = f.read()
|
||||||
for i in range(1):
|
for i in range(1):
|
||||||
completions = functions.complete(code, 160, 200, path)
|
completions = functions.complete(code, 160, 200, path)
|
||||||
|
#completions = functions.complete(code, 42, 200, path)
|
||||||
|
|
||||||
print '\n', ', '.join(sorted(str(c) for c in completions))
|
print '\n', ', '.join(sorted(str(c) for c in completions))
|
||||||
#print [n.name for n in completions]
|
#print [n.name for n in completions]
|
||||||
|
|||||||
@@ -1,19 +1,27 @@
|
|||||||
|
|
||||||
|
# set variables, which should not be included, because they don't belong to the
|
||||||
|
# class
|
||||||
|
second = 1
|
||||||
|
second = ""
|
||||||
class TestClass(object):
|
class TestClass(object):
|
||||||
var_class = TestClass(1)
|
var_class = TestClass(1)
|
||||||
|
|
||||||
def __init__(self2, first_param, second_param):
|
def __init__(self2, first_param, second_param):
|
||||||
self2.var_inst = first_aparam
|
self2.var_inst = first_param
|
||||||
self2.second = second_param
|
self2.second = second_param
|
||||||
|
self2.first = first_param
|
||||||
|
|
||||||
def get_var_inst(self):
|
def var_func(self):
|
||||||
|
return 1
|
||||||
|
|
||||||
|
def get_first(self):
|
||||||
# traversal
|
# traversal
|
||||||
self.second_new = self.second
|
self.second_new = self.second
|
||||||
return self.var_inst
|
return self.var_inst
|
||||||
|
|
||||||
def values(self):
|
def values(self):
|
||||||
self.var_local = 3
|
self.var_local = 3
|
||||||
#? ['var_class', 'var_inst', 'var_local']
|
#? ['var_class', 'var_func', 'var_inst', 'var_local']
|
||||||
self.var_
|
self.var_
|
||||||
|
|
||||||
def ret(self, a1):
|
def ret(self, a1):
|
||||||
@@ -21,10 +29,10 @@ class TestClass(object):
|
|||||||
|
|
||||||
inst = TestClass(1)
|
inst = TestClass(1)
|
||||||
|
|
||||||
#? ['var_class', 'var_inst', 'var_local']
|
#? ['var_class', 'var_func', 'var_inst', 'var_local']
|
||||||
inst.var
|
inst.var
|
||||||
|
|
||||||
#? ['var_class']
|
#? ['var_class', 'var_func']
|
||||||
TestClass.var
|
TestClass.var
|
||||||
|
|
||||||
#? ['real']
|
#? ['real']
|
||||||
@@ -39,10 +47,39 @@ inst.ret(1).real
|
|||||||
|
|
||||||
myclass = TestClass(1, '')
|
myclass = TestClass(1, '')
|
||||||
#? ['real']
|
#? ['real']
|
||||||
TestClass(1).var_inst.
|
myclass.get_first().real
|
||||||
|
#? []
|
||||||
|
myclass.get_first().upper
|
||||||
|
#? []
|
||||||
|
myclass.get_first.real
|
||||||
|
|
||||||
|
# too many params
|
||||||
#? ['real']
|
#? ['real']
|
||||||
myclass.get_var_inst().real
|
TestClass(1,1,1).var_inst.real
|
||||||
|
|
||||||
|
# too few params
|
||||||
|
#? ['real']
|
||||||
|
TestClass(1).first.real
|
||||||
#? []
|
#? []
|
||||||
myclass.get_var_inst().upper
|
TestClass(1).second.real
|
||||||
|
|
||||||
|
# complicated variable settings in class
|
||||||
|
#? ['upper']
|
||||||
|
myclass.second.upper
|
||||||
#? []
|
#? []
|
||||||
myclass.get_var_inst.real
|
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
|
||||||
|
|||||||
Reference in New Issue
Block a user