summaryrefslogtreecommitdiff
path: root/src/tests
diff options
context:
space:
mode:
authorMichele Simionato <michele.simionato@gmail.com>2021-04-08 07:41:51 +0200
committerMichele Simionato <michele.simionato@gmail.com>2021-04-08 07:41:51 +0200
commitb2e77f281365007b756626372fb234c13f9426bb (patch)
treec59244a6bb0d4c31a18e26242f95630e87aedc5f /src/tests
parentfb8a321d672848852d7706b3c40156771e568084 (diff)
downloadpython-decorator-git-b2e77f281365007b756626372fb234c13f9426bb.tar.gz
func.__module__ was not copied anymore
Diffstat (limited to 'src/tests')
-rw-r--r--src/tests/documentation.py7
-rw-r--r--src/tests/test.py6
2 files changed, 9 insertions, 4 deletions
diff --git a/src/tests/documentation.py b/src/tests/documentation.py
index 40b0a28..3ddc6a1 100644
--- a/src/tests/documentation.py
+++ b/src/tests/documentation.py
@@ -1852,14 +1852,13 @@ def to_method(f):
self = inspect.Parameter('self', inspect.Parameter.POSITIONAL_OR_KEYWORD)
params.insert(0, self) # insert self
del params[-1] # remove context
- newsig = sig.replace(parameters=params)
+ newsig = '%s%s' % (f.__name__, sig.replace(parameters=params))
return FunctionMaker.create(
- '%s%s' % (f.__name__, newsig),
- 'context = self.context; return _func_%s' % sig,
+ newsig, 'context = self.context; return _func_%s' % sig,
dict(_func_=f))
-def foo(x, context):
+def foo(x, context=None):
return x
diff --git a/src/tests/test.py b/src/tests/test.py
index ad45ca1..c10757d 100644
--- a/src/tests/test.py
+++ b/src/tests/test.py
@@ -69,6 +69,12 @@ class DocumentationTestCase(unittest.TestCase):
err = doctest.testmod(doc)[0]
self.assertEqual(err, 0)
+ def test_copy_dunder_attrs(self):
+ traced = doc.trace(doc.foo)
+ self.assertEqual(traced.__module__, 'documentation')
+ self.assertEqual(traced.__annotations__, {})
+ self.assertEqual(traced.__defaults__, (None,))
+
def test_singledispatch1(self):
with assertRaises(RuntimeError):
doc.singledispatch_example1()