summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2016-04-23 07:53:28 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2016-04-23 07:53:28 (GMT)
commit0207e7699bc24d9e737ddeb0bb536ce190c1ebba (patch)
tree8359afee7779520edac8553529e036112c6f1472 /Lib
parentbca06ccb3e23cc1da24d3c1d78cc8a5d6df52bdf (diff)
downloadcpython-0207e7699bc24d9e737ddeb0bb536ce190c1ebba.zip
cpython-0207e7699bc24d9e737ddeb0bb536ce190c1ebba.tar.gz
cpython-0207e7699bc24d9e737ddeb0bb536ce190c1ebba.tar.bz2
Issue #26822: itemgetter, attrgetter and methodcaller objects no longer
silently ignore keyword arguments.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_operator.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/Lib/test/test_operator.py b/Lib/test/test_operator.py
index 81a8020..0864461 100644
--- a/Lib/test/test_operator.py
+++ b/Lib/test/test_operator.py
@@ -371,6 +371,9 @@ class OperatorTestCase(unittest.TestCase):
a.name = 'arthur'
f = operator.attrgetter('name')
self.assertEqual(f(a), 'arthur')
+ self.assertRaises(TypeError, f)
+ self.assertRaises(TypeError, f, a, 'dent')
+ self.assertRaises(TypeError, f, a, surname='dent')
f = operator.attrgetter('rank')
self.assertRaises(AttributeError, f, a)
f = operator.attrgetter(2)
@@ -414,6 +417,9 @@ class OperatorTestCase(unittest.TestCase):
a = 'ABCDE'
f = operator.itemgetter(2)
self.assertEqual(f(a), 'C')
+ self.assertRaises(TypeError, f)
+ self.assertRaises(TypeError, f, a, 3)
+ self.assertRaises(TypeError, f, a, size=3)
f = operator.itemgetter(10)
self.assertRaises(IndexError, f, a)
@@ -456,6 +462,9 @@ class OperatorTestCase(unittest.TestCase):
self.assertRaises(IndexError, f, a)
f = operator.methodcaller('foo', 1, 2)
self.assertEqual(f(a), 3)
+ self.assertRaises(TypeError, f)
+ self.assertRaises(TypeError, f, a, 3)
+ self.assertRaises(TypeError, f, a, spam=3)
f = operator.methodcaller('bar')
self.assertEqual(f(a), 42)
self.assertRaises(TypeError, f, a, a)