X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/fc869039ebcc0c0ff922ea9b2713480c119e5341..bbed104e6d3e89ebb8da7c209b842e8a96bcd5de:/tests/function.py?ds=sidebyside diff --git a/tests/function.py b/tests/function.py index 387e441..4754588 100644 --- a/tests/function.py +++ b/tests/function.py @@ -33,7 +33,7 @@ def spaces(a=1, b=(), c=[], d={}, e=True, f=-1, g=1 if False else 2, h="", i=r'' 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( @@ -47,6 +47,12 @@ def long_lines(): 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""" ^ @@ -68,6 +74,25 @@ 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), +} +def f( + a, + **kwargs, +) -> A: + return ( + yield from A( + very_long_argument_name1=very_long_value_for_the_argument, + very_long_argument_name2=very_long_value_for_the_argument, + **kwargs, + ) + ) +def __await__(): return (yield) # output @@ -80,7 +105,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(): @@ -89,13 +114,11 @@ 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 @@ -103,7 +126,7 @@ def func_no_args(): 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) @@ -120,9 +143,9 @@ 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 + assert task._cancel_stack[: len(old_stack)] == old_stack def spaces_types( @@ -134,21 +157,25 @@ def spaces_types( f: int = -1, g: int = 1 if False else 2, h: str = "", - i: str = r'', + 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() - ).all() + 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(): @@ -161,6 +188,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""" ^ @@ -183,3 +219,26 @@ 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), + } + + +def f(a, **kwargs) -> A: + return ( + yield from A( + very_long_argument_name1=very_long_value_for_the_argument, + very_long_argument_name2=very_long_value_for_the_argument, + **kwargs, + ) + ) + + +def __await__(): + return (yield)