Commit 740d6134 authored by Raymond Hettinger's avatar Raymond Hettinger

merge

parents 01d566d3 610a51f3
......@@ -85,6 +85,14 @@ def itermulti(seqn):
'Test multiple tiers of iterators'
return chain(map(lambda x:x, iterfunc(IterGen(Sequence(seqn)))))
class LyingTuple(tuple):
def __iter__(self):
yield 1
class LyingList(list):
def __iter__(self):
yield 1
class CommonTest(unittest.TestCase):
# The type to be tested
type2test = None
......@@ -131,6 +139,10 @@ class CommonTest(unittest.TestCase):
self.assertRaises(TypeError, self.type2test, IterNoNext(s))
self.assertRaises(ZeroDivisionError, self.type2test, IterGenExc(s))
# Issue #23757
self.assertEqual(self.type2test(LyingTuple((2,))), self.type2test((1,)))
self.assertEqual(self.type2test(LyingList([2])), self.type2test([1]))
def test_truth(self):
self.assertFalse(self.type2test())
self.assertTrue(self.type2test([42]))
......
......@@ -1681,7 +1681,7 @@ PySequence_Tuple(PyObject *v)
Py_INCREF(v);
return v;
}
if (PyList_Check(v))
if (PyList_CheckExact(v))
return PyList_AsTuple(v);
/* Get iterator. */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment