summaryrefslogtreecommitdiffstats
path: root/tests/roots/test-ext-autodoc/target/singledispatchmethod_classmethod.py
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--tests/roots/test-ext-autodoc/target/singledispatchmethod_classmethod.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/roots/test-ext-autodoc/target/singledispatchmethod_classmethod.py b/tests/roots/test-ext-autodoc/target/singledispatchmethod_classmethod.py
new file mode 100644
index 0000000..039fada
--- /dev/null
+++ b/tests/roots/test-ext-autodoc/target/singledispatchmethod_classmethod.py
@@ -0,0 +1,31 @@
+from functools import singledispatchmethod
+
+
+class Foo:
+ """docstring"""
+
+ @singledispatchmethod
+ @classmethod
+ def class_meth(cls, arg, kwarg=None):
+ """A class method for general use."""
+ pass
+
+ @class_meth.register(int)
+ @class_meth.register(float)
+ @classmethod
+ def _class_meth_int(cls, arg, kwarg=None):
+ """A class method for numbers."""
+ pass
+
+ @class_meth.register(str)
+ @classmethod
+ def _class_meth_str(cls, arg, kwarg=None):
+ """A class method for str."""
+ pass
+
+ @class_meth.register
+ @classmethod
+ def _class_meth_dict(cls, arg: dict, kwarg=None):
+ """A class method for dict."""
+ # This function tests for specifying type through annotations
+ pass