From 1ef876cd28aa2f76edffb6e4d209c6a49b5705ef Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Sun, 10 Feb 2013 09:29:59 -0500 Subject: evaluate positional defaults before keyword-only defaults (closes #16967) --- Lib/test/test_keywordonlyarg.py | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'Lib/test') 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) -- cgit v1.2.1