diff options
Diffstat (limited to 'pylint/test/functional')
6 files changed, 134 insertions, 0 deletions
diff --git a/pylint/test/functional/singledispatch_functions.py b/pylint/test/functional/singledispatch_functions.py new file mode 100644 index 000000000..f8b816a4e --- /dev/null +++ b/pylint/test/functional/singledispatch_functions.py @@ -0,0 +1,63 @@ +# pylint: disable=missing-docstring,import-error,unused-import,assignment-from-no-return +from __future__ import print_function +from UNINFERABLE import uninferable_decorator, uninferable_func + +try: + from functools import singledispatch +except ImportError: + from singledispatch import singledispatch + +my_single_dispatch = singledispatch # pylint: disable=invalid-name + + +@singledispatch +def func(arg): + return arg + + +@func.register(str) +def _(arg): + return 42 + + +@func.register(float) +@func.register(int) +def _(arg): + return 42 + + +@my_single_dispatch +def func2(arg): + return arg + + +@func2.register(int) +def _(arg): + return 42 + + +@singledispatch +def with_extra_arg(arg, verbose=False): + if verbose: + print(arg) + return arg + + +@with_extra_arg.register(str) +def _(arg, verbose=False): + return arg[::-1] + + +@uninferable_decorator +def uninferable(arg): + return 2*arg + + +@uninferable.register(str) +def bad_single_dispatch(arg): + return arg + + +@uninferable_func.register(str) +def test(arg): + return arg diff --git a/pylint/test/functional/singledispatch_functions.rc b/pylint/test/functional/singledispatch_functions.rc new file mode 100644 index 000000000..fc795dc6d --- /dev/null +++ b/pylint/test/functional/singledispatch_functions.rc @@ -0,0 +1,3 @@ +[testoptions] +;http://bugs.python.org/issue10445 +max_pyver=3.0 diff --git a/pylint/test/functional/singledispatch_functions.txt b/pylint/test/functional/singledispatch_functions.txt new file mode 100644 index 000000000..60dd49880 --- /dev/null +++ b/pylint/test/functional/singledispatch_functions.txt @@ -0,0 +1 @@ +unused-argument:51:uninferable:Unused argument 'arg' diff --git a/pylint/test/functional/singledispatch_functions_py3.py b/pylint/test/functional/singledispatch_functions_py3.py new file mode 100644 index 000000000..f8b816a4e --- /dev/null +++ b/pylint/test/functional/singledispatch_functions_py3.py @@ -0,0 +1,63 @@ +# pylint: disable=missing-docstring,import-error,unused-import,assignment-from-no-return +from __future__ import print_function +from UNINFERABLE import uninferable_decorator, uninferable_func + +try: + from functools import singledispatch +except ImportError: + from singledispatch import singledispatch + +my_single_dispatch = singledispatch # pylint: disable=invalid-name + + +@singledispatch +def func(arg): + return arg + + +@func.register(str) +def _(arg): + return 42 + + +@func.register(float) +@func.register(int) +def _(arg): + return 42 + + +@my_single_dispatch +def func2(arg): + return arg + + +@func2.register(int) +def _(arg): + return 42 + + +@singledispatch +def with_extra_arg(arg, verbose=False): + if verbose: + print(arg) + return arg + + +@with_extra_arg.register(str) +def _(arg, verbose=False): + return arg[::-1] + + +@uninferable_decorator +def uninferable(arg): + return 2*arg + + +@uninferable.register(str) +def bad_single_dispatch(arg): + return arg + + +@uninferable_func.register(str) +def test(arg): + return arg diff --git a/pylint/test/functional/singledispatch_functions_py3.rc b/pylint/test/functional/singledispatch_functions_py3.rc new file mode 100644 index 000000000..d43f6c339 --- /dev/null +++ b/pylint/test/functional/singledispatch_functions_py3.rc @@ -0,0 +1,3 @@ +[testoptions] +;http://bugs.python.org/issue10445 +min_pyver=3.4 diff --git a/pylint/test/functional/singledispatch_functions_py3.txt b/pylint/test/functional/singledispatch_functions_py3.txt new file mode 100644 index 000000000..60dd49880 --- /dev/null +++ b/pylint/test/functional/singledispatch_functions_py3.txt @@ -0,0 +1 @@ +unused-argument:51:uninferable:Unused argument 'arg' |
