X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/6ba615092e0b323072058f0a90bb7ab301957b7f..25abcea6c5b7edff49841f46f4de1ccd14c05f4b:/tests/function.py diff --git a/tests/function.py b/tests/function.py index 29de408..9a12bf6 100644 --- a/tests/function.py +++ b/tests/function.py @@ -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,20 +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)): - ... + assert fut is self._read_fut, (fut, self._read_fut) + # 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(), + 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""" ^ @@ -65,6 +74,13 @@ def long_lines(): $ """, re.MULTILINE | re.VERBOSE ) +def trailing_comma(): + mapping = { + A: 0.25 * (10.0 / 12), + B: 0.1 * (10.0 / 12), + C: 0.1 * (10.0 / 12), + D: 0.1 * (10.0 / 12), +} # output @@ -77,7 +93,7 @@ from third_party import X, Y, Z from library import some_connection, some_decorator -f'trigger 3.6 mode' +f"trigger 3.6 mode" def func_no_args(): @@ -86,20 +102,19 @@ def func_no_args(): c if True: raise RuntimeError - if False: ... 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) + await conn.do_what_i_mean("SELECT bobby, tables FROM xkcd", timeout=2) await asyncio.sleep(1) @@ -116,20 +131,34 @@ 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 spaces2(result=_core.Value(None)): +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)): + assert fut is self._read_fut, (fut, self._read_fut) + + 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(), + models.Customer.id.asc() ).all() @@ -143,6 +172,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""" ^ @@ -165,3 +203,12 @@ def long_lines(): """, re.MULTILINE | re.VERBOSE, ) + + +def trailing_comma(): + mapping = { + A: 0.25 * (10.0 / 12), + B: 0.1 * (10.0 / 12), + C: 0.1 * (10.0 / 12), + D: 0.1 * (10.0 / 12), + }