mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-02-03 16:10:05 +08:00
259 lines
3.4 KiB
Python
Vendored
259 lines
3.4 KiB
Python
Vendored
# goto command tests are different in syntax
|
|
|
|
definition = 3
|
|
#! 0 ['a = definition']
|
|
a = definition
|
|
|
|
#! []
|
|
b
|
|
#! ['a = definition']
|
|
a
|
|
|
|
b = a
|
|
c = b
|
|
#! ['c = b']
|
|
c
|
|
|
|
cd = 1
|
|
#! 1 ['cd = c']
|
|
cd = c
|
|
#! 0 ['cd = e']
|
|
cd = e
|
|
|
|
#! ['module math']
|
|
import math
|
|
#! ['module math']
|
|
math
|
|
|
|
#! ['module math']
|
|
b = math
|
|
#! ['b = math']
|
|
b
|
|
|
|
#! 18 ['foo = 10']
|
|
foo = 10;print(foo)
|
|
|
|
# -----------------
|
|
# classes
|
|
# -----------------
|
|
class C(object):
|
|
x = 3
|
|
def b(self):
|
|
#! ['b = math']
|
|
b
|
|
#! ['def b']
|
|
self.b
|
|
#! 14 ['def b']
|
|
self.b()
|
|
#! 14 ['def b']
|
|
self.b.
|
|
#! 11 ['param self']
|
|
self.b
|
|
#! ['x = 3']
|
|
self.x
|
|
#! 14 ['x = 3']
|
|
self.x.
|
|
return 1
|
|
|
|
#! ['def b']
|
|
b
|
|
|
|
#! ['b = math']
|
|
b
|
|
|
|
#! ['def b']
|
|
C.b
|
|
#! ['def b']
|
|
C().b
|
|
#! 0 ['class C']
|
|
C().b
|
|
#! 0 ['class C']
|
|
C().b
|
|
|
|
D = C
|
|
#! ['def b']
|
|
D.b
|
|
#! ['def b']
|
|
D().b
|
|
|
|
#! 0 ['D = C']
|
|
D().b
|
|
#! 0 ['D = C']
|
|
D().b
|
|
|
|
def c():
|
|
return ''
|
|
|
|
#! ['def c']
|
|
c
|
|
#! 0 ['def c']
|
|
c()
|
|
|
|
|
|
class ClassVar():
|
|
x = 3
|
|
|
|
#! ['x = 3']
|
|
ClassVar.x
|
|
#! ['x = 3']
|
|
ClassVar().x
|
|
|
|
# before assignments
|
|
#! 10 ['x = 3']
|
|
ClassVar.x = ''
|
|
#! 12 ['x = 3']
|
|
ClassVar().x = ''
|
|
|
|
# Recurring use of the same var name, github #315
|
|
def f(t=None):
|
|
#! 9 ['param t=None']
|
|
t = t or 1
|
|
|
|
|
|
class X():
|
|
pass
|
|
|
|
#! 3 []
|
|
X(foo=x)
|
|
|
|
|
|
# Multiple inheritance
|
|
class Foo:
|
|
def foo(self):
|
|
print("foo")
|
|
class Bar:
|
|
def bar(self):
|
|
print("bar")
|
|
class Baz(Foo, Bar):
|
|
def baz(self):
|
|
#! ['def foo']
|
|
super().foo
|
|
#! ['def bar']
|
|
super().bar
|
|
#! ['instance Foo']
|
|
super()
|
|
|
|
# -----------------
|
|
# imports
|
|
# -----------------
|
|
|
|
#! ['module import_tree']
|
|
import import_tree
|
|
#! ["a = ''"]
|
|
import_tree.a
|
|
|
|
#! ['module mod1']
|
|
import import_tree.mod1
|
|
#! ['module mod1']
|
|
from import_tree.mod1
|
|
#! ['a = 1']
|
|
import_tree.mod1.a
|
|
|
|
#! ['module pkg']
|
|
import import_tree.pkg
|
|
#! ['a = list']
|
|
import_tree.pkg.a
|
|
|
|
#! ['module mod1']
|
|
import import_tree.pkg.mod1
|
|
#! ['a = 1.0']
|
|
import_tree.pkg.mod1.a
|
|
#! ["a = ''"]
|
|
import_tree.a
|
|
|
|
#! ['module mod1']
|
|
from import_tree.pkg import mod1
|
|
#! ['a = 1.0']
|
|
mod1.a
|
|
|
|
#! ['module mod1']
|
|
from import_tree import mod1
|
|
#! ['a = 1']
|
|
mod1.a
|
|
|
|
#! ['a = 1.0']
|
|
from import_tree.pkg.mod1 import a
|
|
|
|
#! ['module os']
|
|
from .imports import os
|
|
|
|
#! ['some_variable = 1']
|
|
from . import some_variable
|
|
|
|
# -----------------
|
|
# anonymous classes
|
|
# -----------------
|
|
def func():
|
|
class A():
|
|
def b(self):
|
|
return 1
|
|
return A()
|
|
|
|
#! 8 ['def b']
|
|
func().b()
|
|
|
|
# -----------------
|
|
# on itself
|
|
# -----------------
|
|
|
|
#! 7 ['class ClassDef']
|
|
class ClassDef():
|
|
""" abc """
|
|
pass
|
|
|
|
# -----------------
|
|
# params
|
|
# -----------------
|
|
|
|
param = ClassDef
|
|
#! 8 ['param param']
|
|
def ab1(param): pass
|
|
#! 9 ['param param']
|
|
def ab2(param): pass
|
|
#! 11 ['param = ClassDef']
|
|
def ab3(a=param): pass
|
|
|
|
ab1(ClassDef);ab2(ClassDef);ab3(ClassDef)
|
|
|
|
# -----------------
|
|
# for loops
|
|
# -----------------
|
|
|
|
for i in range(1):
|
|
#! ['for i in range(1): i']
|
|
i
|
|
|
|
for key, value in [(1,2)]:
|
|
#! ['for key, value in [(1,2)]: key']
|
|
key
|
|
|
|
#! 4 ['for y in [1]: y']
|
|
for y in [1]:
|
|
#! ['for y in [1]: y']
|
|
y
|
|
|
|
# -----------------
|
|
# decorator
|
|
# -----------------
|
|
def dec(dec_param=3):
|
|
pass
|
|
|
|
#! 8 ['param dec_param=3']
|
|
@dec(dec_param=5)
|
|
def y():
|
|
pass
|
|
|
|
class ClassDec():
|
|
def class_func(func):
|
|
return func
|
|
|
|
#! 14 ['def class_func']
|
|
@ClassDec.class_func
|
|
def x():
|
|
pass
|
|
|
|
#! 2 ['class ClassDec']
|
|
@ClassDec.class_func
|
|
def z():
|
|
pass
|