X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/6316e293ac30a2837ec20eba289fd28a2a18cf89..8406fcd9af20b7d614fc5e23e94d21e73be7368c:/tests/function.py diff --git a/tests/function.py b/tests/function.py index 888ef9f..4754588 100644 --- a/tests/function.py +++ b/tests/function.py @@ -31,8 +31,10 @@ 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, @@ -45,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""" ^ @@ -66,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 @@ -78,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(): @@ -87,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 @@ -101,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) @@ -118,21 +143,39 @@ 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( + 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() - ).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(): @@ -145,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""" ^ @@ -167,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)