diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2013-01-29 20:20:57 (GMT) |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2013-01-29 20:20:57 (GMT) |
commit | bd41d1b14c03e76c6ebf396720eddba60f00c8dc (patch) | |
tree | 6c3861261529c87b46fad3f7406dc7f1a22f653b /Lib/test/test_inspect.py | |
parent | c5b75db5def1890924d914bc36b54e6a120bf2d7 (diff) | |
download | cpython-bd41d1b14c03e76c6ebf396720eddba60f00c8dc.zip cpython-bd41d1b14c03e76c6ebf396720eddba60f00c8dc.tar.gz cpython-bd41d1b14c03e76c6ebf396720eddba60f00c8dc.tar.bz2 |
Issue #17071: Signature.bind() now works when one of the keyword arguments is named ``self``.
Diffstat (limited to 'Lib/test/test_inspect.py')
-rw-r--r-- | Lib/test/test_inspect.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Lib/test/test_inspect.py b/Lib/test/test_inspect.py index 80db03b..6e3f04e 100644 --- a/Lib/test/test_inspect.py +++ b/Lib/test/test_inspect.py @@ -2241,6 +2241,16 @@ class TestSignatureBind(unittest.TestCase): with self.assertRaisesRegex(TypeError, "parameter is positional only"): self.call(test, a_po=1, b_po=2) + def test_signature_bind_with_self_arg(self): + # Issue #17071: one of the parameters is named "self + def test(a, self, b): + pass + sig = inspect.signature(test) + ba = sig.bind(1, 2, 3) + self.assertEqual(ba.args, (1, 2, 3)) + ba = sig.bind(1, self=2, b=3) + self.assertEqual(ba.args, (1, 2, 3)) + class TestBoundArguments(unittest.TestCase): def test_signature_bound_arguments_unhashable(self): |