X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/cf6f577928f5a1f4e98b02b8e723311cae830305..f1f12284e0e9424890b2616b198e69ed7e147116:/tests/function.py diff --git a/tests/function.py b/tests/function.py index 08ab2b8..4754588 100644 --- a/tests/function.py +++ b/tests/function.py @@ -33,7 +33,8 @@ 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( models.Customer.account_id == account_id, @@ -46,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""" ^ @@ -67,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 @@ -79,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(): @@ -88,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 @@ -102,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) @@ -119,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( @@ -133,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(): @@ -160,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""" ^ @@ -182,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)