mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-02-04 02:50:05 +08:00
395 lines
8.3 KiB
Python
Vendored
395 lines
8.3 KiB
Python
Vendored
"""
|
|
Renaming tests. This means search for references.
|
|
I always leave a little bit of space to add room for additions, because the
|
|
results always contain position informations.
|
|
"""
|
|
#< 4 (0,4), (3,0), (5,0), (12,4), (14,5), (15,0), (17,0), (19,0)
|
|
def abcd(): pass
|
|
|
|
#< 0 (-3,4), (0,0), (2,0), (9,4), (11,5), (12,0), (14,0), (16,0)
|
|
abcd.d.a.bsaasd.abcd.d
|
|
|
|
abcd
|
|
# unicode chars shouldn't be a problem.
|
|
x['smörbröd'].abcd
|
|
|
|
# With the new parser these statements are not recognized as stateents, because
|
|
# they are not valid Python.
|
|
if 1:
|
|
abcd =
|
|
else:
|
|
(abcd) =
|
|
abcd =
|
|
#< (-17,4), (-14,0), (-12,0), (0,0), (2,0), (-2,0), (-3,5), (-5,4)
|
|
abcd
|
|
|
|
abcd = 5
|
|
|
|
|
|
Abc = 3
|
|
|
|
#< 6 (-3,0), (0,6), (2,4), (5,8), (17,0)
|
|
class Abc():
|
|
#< (-5,0), (-2,6), (0,4), (2,8), (3,8), (15,0)
|
|
Abc
|
|
|
|
def Abc(self):
|
|
Abc; self.c = 3
|
|
|
|
#< 17 (0,16), (2,8)
|
|
def a(self, Abc):
|
|
#< 10 (-2,16), (0,8)
|
|
Abc
|
|
|
|
#< 19 (0,18), (2,8)
|
|
def self_test(self):
|
|
#< 12 (-2,18), (0,8)
|
|
self.b
|
|
|
|
Abc.d.Abc
|
|
|
|
|
|
#< 4 (0,4), (5,1)
|
|
def blubi():
|
|
pass
|
|
|
|
|
|
#< (-5,4), (0,1)
|
|
@blubi
|
|
def a(): pass
|
|
|
|
|
|
#< 0 (0,0), (1,0)
|
|
set_object_var = object()
|
|
set_object_var.var = 1
|
|
|
|
def func(a, b):
|
|
a = 12
|
|
#< 4 (0,4), (3,8)
|
|
c = a
|
|
if True:
|
|
#< 8 (-3,4), (0,8)
|
|
c = b
|
|
|
|
response = 5
|
|
#< 0 (-2,0), (0,0), (1,0), (2,0), (4,0)
|
|
response = HttpResponse(mimetype='application/pdf')
|
|
response['Content-Disposition'] = 'attachment; filename=%s.pdf' % id
|
|
response.write(pdf)
|
|
#< (-6,0), (-4,0), (-3,0), (-2,0), (0,0)
|
|
response
|
|
|
|
|
|
# -----------------
|
|
# imports
|
|
# -----------------
|
|
#< (0,7), (3,0)
|
|
import module_not_exists
|
|
|
|
#< (-3,7), (0,0)
|
|
module_not_exists
|
|
|
|
|
|
#< ('import_tree.rename1', 1,0), (0,24), (3,0), (6,17), ('import_tree.rename2', 4,17), (11,17), (14,17), ('imports', 72, 16)
|
|
from import_tree import rename1
|
|
|
|
#< (0,8), ('import_tree.rename1',3,0), ('import_tree.rename2',4,32), ('import_tree.rename2',6,0), (3,32), (8,32), (5,0)
|
|
rename1.abc
|
|
|
|
#< (-3,8), ('import_tree.rename1', 3,0), ('import_tree.rename2', 4,32), ('import_tree.rename2', 6,0), (0,32), (5,32), (2,0)
|
|
from import_tree.rename1 import abc
|
|
#< (-5,8), (-2,32), ('import_tree.rename1', 3,0), ('import_tree.rename2', 4,32), ('import_tree.rename2', 6,0), (0,0), (3,32)
|
|
abc
|
|
|
|
#< 20 ('import_tree.rename1', 1,0), ('import_tree.rename2', 4,17), (-11,24), (-8,0), (-5,17), (0,17), (3,17), ('imports', 72, 16)
|
|
from import_tree.rename1 import abc
|
|
|
|
#< (0, 32),
|
|
from import_tree.rename1 import not_existing
|
|
|
|
# Shouldn't raise an error or do anything weird.
|
|
from not_existing import *
|
|
|
|
# -----------------
|
|
# classes
|
|
# -----------------
|
|
|
|
class TestMethods(object):
|
|
#< 8 (0,8), (2,13)
|
|
def a_method(self):
|
|
#< 13 (-2,8), (0,13)
|
|
self.a_method()
|
|
#< 13 (2,8), (0,13), (3,13)
|
|
self.b_method()
|
|
|
|
def b_method(self):
|
|
self.b_method
|
|
|
|
|
|
class TestClassVar(object):
|
|
#< 4 (0,4), (5,13), (7,21)
|
|
class_v = 1
|
|
def a(self):
|
|
class_v = 1
|
|
|
|
#< (-5,4), (0,13), (2,21)
|
|
self.class_v
|
|
#< (-7,4), (-2,13), (0,21)
|
|
TestClassVar.class_v
|
|
#< (0,8), (-7, 8)
|
|
class_v
|
|
|
|
class TestInstanceVar():
|
|
def a(self):
|
|
#< 13 (4,13), (0,13)
|
|
self._instance_var = 3
|
|
|
|
def b(self):
|
|
#< (-4,13), (0,13)
|
|
self._instance_var
|
|
# A call to self used to trigger an error, because it's also a trailer
|
|
# with two children.
|
|
self()
|
|
|
|
|
|
class NestedClass():
|
|
def __getattr__(self, name):
|
|
return self
|
|
|
|
# Shouldn't find a definition, because there's other `instance`.
|
|
#< (0, 14),
|
|
NestedClass().instance
|
|
|
|
|
|
# -----------------
|
|
# inheritance
|
|
# -----------------
|
|
class Super(object):
|
|
#< 4 (0,4), (23,18), (25,13)
|
|
base_class = 1
|
|
#< 4 (0,4),
|
|
class_var = 1
|
|
|
|
#< 8 (0,8),
|
|
def base_method(self):
|
|
#< 13 (0,13), (20,13)
|
|
self.base_var = 1
|
|
#< 13 (0,13),
|
|
self.instance_var = 1
|
|
|
|
#< 8 (0,8),
|
|
def just_a_method(self): pass
|
|
|
|
|
|
#< 20 (0,16), (-18,6)
|
|
class TestClass(Super):
|
|
#< 4 (0,4),
|
|
class_var = 1
|
|
|
|
def x_method(self):
|
|
|
|
#< (0,18), (2,13), (-23,4)
|
|
TestClass.base_class
|
|
#< (-2,18), (0,13), (-25,4)
|
|
self.base_class
|
|
#< (-20,13), (0,13)
|
|
self.base_var
|
|
#< (0, 18),
|
|
TestClass.base_var
|
|
|
|
|
|
#< 13 (5,13), (0,13)
|
|
self.instance_var = 3
|
|
|
|
#< 9 (0,8),
|
|
def just_a_method(self):
|
|
#< (-5,13), (0,13)
|
|
self.instance_var
|
|
|
|
|
|
# -----------------
|
|
# properties
|
|
# -----------------
|
|
class TestProperty:
|
|
|
|
@property
|
|
#< 10 (0,8), (5,13)
|
|
def prop(self):
|
|
return 1
|
|
|
|
def a(self):
|
|
#< 13 (-5,8), (0,13)
|
|
self.prop
|
|
|
|
@property
|
|
#< 13 (0,8), (4,5), (6,8), (11,13)
|
|
def rw_prop(self):
|
|
return self._rw_prop
|
|
|
|
#< 8 (-4,8), (0,5), (2,8), (7,13)
|
|
@rw_prop.setter
|
|
#< 8 (-6,8), (-2,5), (0,8), (5,13)
|
|
def rw_prop(self, value):
|
|
self._rw_prop = value
|
|
|
|
def b(self):
|
|
#< 13 (-11,8), (-7,5), (-5,8), (0,13)
|
|
self.rw_prop
|
|
|
|
# -----------------
|
|
# *args, **kwargs
|
|
# -----------------
|
|
#< 11 (1,11), (0,8)
|
|
def f(**kwargs):
|
|
return kwargs
|
|
|
|
|
|
# -----------------
|
|
# No result
|
|
# -----------------
|
|
if isinstance(j, int):
|
|
#< (0, 4),
|
|
j
|
|
|
|
# -----------------
|
|
# Dynamic Param Search
|
|
# -----------------
|
|
|
|
class DynamicParam():
|
|
def foo(self):
|
|
return
|
|
|
|
def check(instance):
|
|
#< 13 (-5,8), (0,13)
|
|
instance.foo()
|
|
|
|
check(DynamicParam())
|
|
|
|
# -----------------
|
|
# Compiled Objects
|
|
# -----------------
|
|
|
|
import _sre
|
|
|
|
# TODO reenable this, it's currently not working, because of 2/3
|
|
# inconsistencies in typeshed (_sre exists in typeshed/2, but not in
|
|
# typeshed/3).
|
|
##< 0 (-3,7), (0,0), ('_sre', None, None)
|
|
_sre
|
|
|
|
# -----------------
|
|
# on syntax
|
|
# -----------------
|
|
|
|
#< 0
|
|
import undefined
|
|
|
|
# -----------------
|
|
# comprehensions
|
|
# -----------------
|
|
|
|
#< 0 (0,0), (2,12)
|
|
x = 32
|
|
#< 12 (-2,0), (0,12)
|
|
[x for x in x]
|
|
|
|
#< 0 (0,0), (2,1), (2,12)
|
|
y = 32
|
|
#< 12 (-2,0), (0,1), (0,12)
|
|
[y for b in y]
|
|
|
|
|
|
#< 1 (0,1), (0,7)
|
|
[x for x in something]
|
|
#< 7 (0,1), (0,7)
|
|
[x for x in something]
|
|
|
|
z = 3
|
|
#< 1 (0,1), (0,10)
|
|
{z:1 for z in something}
|
|
#< 10 (0,1), (0,10)
|
|
{z:1 for z in something}
|
|
|
|
#< 8 (0,6), (0, 40)
|
|
[[x + nested_loopv2 for x in bar()] for nested_loopv2 in baz()]
|
|
|
|
#< 25 (0,20), (0, 65)
|
|
(("*" if abs(foo(x, nested_loopv1)) else " " for x in bar()) for nested_loopv1 in baz())
|
|
|
|
|
|
def whatever_func():
|
|
zzz = 3
|
|
if UNDEFINED:
|
|
zzz = 5
|
|
if UNDEFINED2:
|
|
#< (3, 8), (4, 4), (0, 12), (-3, 8), (-5, 4)
|
|
zzz
|
|
else:
|
|
#< (0, 8), (1, 4), (-3, 12), (-6, 8), (-8, 4)
|
|
zzz
|
|
zzz
|
|
|
|
# -----------------
|
|
# global
|
|
# -----------------
|
|
|
|
def global_usage1():
|
|
#< (0, 4), (4, 11), (6, 4), (9, 8), (12, 4)
|
|
my_global
|
|
|
|
def global_definition():
|
|
#< (-4, 4), (0, 11), (2, 4), (5, 8), (8, 4)
|
|
global my_global
|
|
#< 4 (-6, 4), (-2, 11), (0, 4), (3, 8), (6, 4)
|
|
my_global = 3
|
|
if WHATEVER:
|
|
#< 8 (-9, 4), (-5, 11), (-3, 4), (0, 8), (3, 4)
|
|
my_global = 4
|
|
|
|
def global_usage2()
|
|
my_global
|
|
|
|
def not_global(my_global):
|
|
my_global
|
|
|
|
class DefinitelyNotGlobal:
|
|
def my_global(self):
|
|
def my_global(self):
|
|
pass
|
|
|
|
# -----------------
|
|
# stubs
|
|
# -----------------
|
|
|
|
from stub_folder import with_stub
|
|
#< ('stub:stub_folder.with_stub', 5, 4), ('stub_folder.with_stub', 5, 4), (0, 10)
|
|
with_stub.stub_function
|
|
from stub_folder.with_stub_folder.nested_stub_only import in_stub_only
|
|
#< ('stub:stub_folder.with_stub_folder.nested_stub_only', 2, 4), ('stub:stub_folder.with_stub_folder.nested_stub_only', 4, 4), ('stubs', 64, 17), (-2, 58), (0, 0)
|
|
in_stub_only
|
|
from stub_folder.with_stub_folder.nested_with_stub import in_python
|
|
#< ('stub_folder.with_stub_folder.nested_with_stub', 1, 0), ('stubs', 68, 17), (-2, 58), (0, 0)
|
|
in_python
|
|
from stub_folder.with_stub_folder.nested_with_stub import in_both
|
|
#< ('stub_folder.with_stub_folder.nested_with_stub', 2, 0), ('stub:stub_folder.with_stub_folder.nested_with_stub', 2, 0), ('stubs', 66, 17), (-2, 58), (0, 0)
|
|
in_both
|
|
|
|
# -----------------
|
|
# across directories
|
|
# -----------------
|
|
|
|
#< 8 (0, 0), (3, 4), ('import_tree.references', 1, 21), ('import_tree.references', 5, 4)
|
|
usage_definition = 1
|
|
if False:
|
|
#< 8 (-3, 0), (0, 4), ('import_tree.references', 1, 21), ('import_tree.references', 5, 4)
|
|
usage_definition()
|
|
|
|
# -----------------
|
|
# stdlib stuff
|
|
# -----------------
|
|
|
|
import socket
|
|
#< (1, 21), (0, 7), ('socket', ..., 6), ('stub:socket', ..., 4), ('imports', ..., 7)
|
|
socket.SocketIO
|
|
some_socket = socket.SocketIO()
|