xref: /aosp_15_r20/external/bazelbuild-rules_python/sphinxdocs/tests/sphinx_stardoc/bzl_function.bzl (revision 60517a1edbc8ecf509223e9af94a7adec7d736b8)
1"""Tests for plain functions."""
2
3def middle_varargs(a, *args, b):
4    """Expect: `middle_varargs(a, *args, b)`
5
6    NOTE: https://github.com/bazelbuild/stardoc/issues/226: `*args` renders last
7
8    Args:
9        a: {type}`str` doc for a
10        *args: {type}`varags` doc for *args
11        b: {type}`list[str]` doc for c
12
13    """
14    _ = a, args, b  # @unused
15
16def mixture(a, b = 1, *args, c, d = 2, **kwargs):
17    """Expect: `mixture(a, b=1, *args, c, d=2, **kwargs)`"""
18    _ = a, b, args, c, d, kwargs  # @unused
19
20def only_varargs(*args):
21    """Expect: `only_varargs(*args)`"""
22    _ = args  # @unused
23
24def only_varkwargs(**kwargs):
25    """Expect: `only_varkwargs(**kwargs)`"""
26    _ = kwargs  # @unused
27
28def unnamed_varargs(*, a = 1, b):
29    """Expect: unnamed_varargs(*, a=1, b)"""
30    _ = a, b  # @unused
31
32def varargs_and_varkwargs(*args, **kwargs):
33    """Expect: `varargs_and_varkwargs(*args, **kwargs)`"""
34    _ = args, kwargs  # @unused
35