summaryrefslogtreecommitdiff
path: root/Lib/test/test_keywordonlyarg.py
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2013-02-10 09:29:59 -0500
committerBenjamin Peterson <benjamin@python.org>2013-02-10 09:29:59 -0500
commit1ef876cd28aa2f76edffb6e4d209c6a49b5705ef (patch)
treeeeb6cbf3329f73d4ddce50aef3c912b9e4aef400 /Lib/test/test_keywordonlyarg.py
parent34a2a87d17ff1730946adf86d23a4737271e53b3 (diff)
downloadcpython-git-1ef876cd28aa2f76edffb6e4d209c6a49b5705ef.tar.gz
evaluate positional defaults before keyword-only defaults (closes #16967)
Diffstat (limited to 'Lib/test/test_keywordonlyarg.py')
-rw-r--r--Lib/test/test_keywordonlyarg.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/Lib/test/test_keywordonlyarg.py b/Lib/test/test_keywordonlyarg.py
index 0503a7fc6a..7aabdfc462 100644
--- a/Lib/test/test_keywordonlyarg.py
+++ b/Lib/test/test_keywordonlyarg.py
@@ -176,6 +176,14 @@ class KeywordOnlyArgTestCase(unittest.TestCase):
return __a
self.assertEqual(X().f(), 42)
+ def test_default_evaluation_order(self):
+ # See issue 16967
+ a = 42
+ with self.assertRaises(NameError) as err:
+ def f(v=a, x=b, *, y=c, z=d):
+ pass
+ self.assertEqual(str(err.exception), "global name 'b' is not defined")
+
def test_main():
run_unittest(KeywordOnlyArgTestCase)