Patch #1654417: make operator.{get,set,del}slice use the full range

of Py_ssize_t.
 (backport from rev. 54177)
This commit is contained in:
Georg Brandl 2007-03-06 19:00:09 +00:00
parent 2230d98048
commit 62b1b001e6
3 changed files with 20 additions and 13 deletions

View file

@ -143,6 +143,8 @@ class OperatorTestCase(unittest.TestCase):
self.failUnlessRaises(TypeError, operator.delslice, a, None, None)
self.failUnless(operator.delslice(a, 2, 8) is None)
self.assert_(a == [0, 1, 8, 9])
operator.delslice(a, 0, test_support.MAX_Py_ssize_t)
self.assert_(a == [])
def test_div(self):
self.failUnlessRaises(TypeError, operator.div, 5)
@ -170,6 +172,8 @@ class OperatorTestCase(unittest.TestCase):
self.failUnlessRaises(TypeError, operator.getslice)
self.failUnlessRaises(TypeError, operator.getslice, a, None, None)
self.failUnless(operator.getslice(a, 4, 6) == [4, 5])
b = operator.getslice(a, 0, test_support.MAX_Py_ssize_t)
self.assert_(b == a)
def test_indexOf(self):
self.failUnlessRaises(TypeError, operator.indexOf)
@ -318,6 +322,8 @@ class OperatorTestCase(unittest.TestCase):
self.failUnlessRaises(TypeError, operator.setslice, a, None, None, None)
self.failUnless(operator.setslice(a, 1, 3, [2, 1]) is None)
self.assert_(a == [0, 2, 1, 3])
operator.setslice(a, 0, test_support.MAX_Py_ssize_t, [])
self.assert_(a == [])
def test_sub(self):
self.failUnlessRaises(TypeError, operator.sub)