X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/da3c2f358208dc9838c63d57b66c89e164eb241a..12a095f038f948b29ab6ee83b5e659dc1d55f5a5:/tests/function.py?ds=sidebyside

diff --git a/tests/function.py b/tests/function.py
index 858b042..584474c 100644
--- a/tests/function.py
+++ b/tests/function.py
@@ -6,7 +6,7 @@ from third_party import X, Y, Z
 
 from library import some_connection, \
                     some_decorator
-
+f'trigger 3.6 mode'
 def func_no_args():
   a; b; c
   if True: raise RuntimeError
@@ -14,8 +14,9 @@ def func_no_args():
   for i in range(10):
     print(i)
     continue
+  exec("new-style exec", {}, {})
   return None
-async def coroutine(arg):
+async def coroutine(arg, exec=False):
  "Single-line docstring. Multiline is harder to reformat."
  async with some_connection() as conn:
      await conn.do_what_i_mean('SELECT bobby, tables FROM xkcd', timeout=2)
@@ -30,14 +31,28 @@ def function_signature_stress_test(number:int,no_annotation=None,text:str="defau
 def spaces(a=1, b=(), c=[], d={}, e=True, f=-1, g=1 if False else 2, h="", i=r''):
  offset = attr.ib(default=attr.Factory( lambda: _r.uniform(10000, 200000)))
  assert task._cancel_stack[:len(old_stack)] == old_stack
+def spaces_types(a: int = 1, b: tuple = (), c: list = [], d: dict = {}, e: bool = True, f: int = -1, g: int = 1 if False else 2, h: str = "", i: str = r''): ...
 def spaces2(result= _core.Value(None)):
  ...
-
+    # EMPTY LINE WITH WHITESPACE (this comment will be removed)
+def example(session):
+    result = session.query(models.Customer.id).filter(
+        models.Customer.account_id == account_id,
+        models.Customer.email == email_address,
+    ).order_by(
+        models.Customer.id.asc()
+    ).all()
 def long_lines():
     if True:
         typedargslist.extend(
             gen_annotated_params(ast_args.kwonlyargs, ast_args.kw_defaults, parameters, implicit_default=True)
         )
+        typedargslist.extend(
+            gen_annotated_params(
+                ast_args.kwonlyargs, ast_args.kw_defaults, parameters, implicit_default=True,
+                # trailing standalone comment
+            )
+        )
     _type_comment_re = re.compile(
         r"""
         ^
@@ -71,6 +86,8 @@ from third_party import X, Y, Z
 
 from library import some_connection, some_decorator
 
+f"trigger 3.6 mode"
+
 
 def func_no_args():
     a
@@ -85,13 +102,14 @@ def func_no_args():
         print(i)
         continue
 
+    exec("new-style exec", {}, {})
     return None
 
 
-async def coroutine(arg):
+async def coroutine(arg, exec=False):
     "Single-line docstring. Multiline is harder to reformat."
     async with some_connection() as conn:
-        await conn.do_what_i_mean('SELECT bobby, tables FROM xkcd', timeout=2)
+        await conn.do_what_i_mean("SELECT bobby, tables FROM xkcd", timeout=2)
     await asyncio.sleep(1)
 
 
@@ -108,15 +126,37 @@ def function_signature_stress_test(
     return text[number:-1]
 
 
-def spaces(a=1, b=(), c=[], d={}, e=True, f=-1, g=1 if False else 2, h="", i=r''):
+def spaces(a=1, b=(), c=[], d={}, e=True, f=-1, g=1 if False else 2, h="", i=r""):
     offset = attr.ib(default=attr.Factory(lambda: _r.uniform(10000, 200000)))
     assert task._cancel_stack[:len(old_stack)] == old_stack
 
 
+def spaces_types(
+    a: int = 1,
+    b: tuple = (),
+    c: list = [],
+    d: dict = {},
+    e: bool = True,
+    f: int = -1,
+    g: int = 1 if False else 2,
+    h: str = "",
+    i: str = r"",
+):
+    ...
+
+
 def spaces2(result=_core.Value(None)):
     ...
 
 
+def example(session):
+    result = session.query(models.Customer.id).filter(
+        models.Customer.account_id == account_id, models.Customer.email == email_address
+    ).order_by(
+        models.Customer.id.asc()
+    ).all()
+
+
 def long_lines():
     if True:
         typedargslist.extend(
@@ -127,6 +167,15 @@ def long_lines():
                 implicit_default=True,
             )
         )
+        typedargslist.extend(
+            gen_annotated_params(
+                ast_args.kwonlyargs,
+                ast_args.kw_defaults,
+                parameters,
+                implicit_default=True,
+                # trailing standalone comment
+            )
+        )
     _type_comment_re = re.compile(
         r"""
         ^