summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorAlexandre Vassalotti <alexandre@peadrop.com>2009-07-05 06:25:14 (GMT)
committerAlexandre Vassalotti <alexandre@peadrop.com>2009-07-05 06:25:14 (GMT)
commite503cf9b0e74ec76fce8c021f0c73aa75c4cb6f4 (patch)
tree99bacfeac2156d4190fb1d4110af554ed19017b6 /Lib
parentb78637a5bc8fcb1787d9a7e452fa9926eec538b4 (diff)
downloadcpython-e503cf9b0e74ec76fce8c021f0c73aa75c4cb6f4.zip
cpython-e503cf9b0e74ec76fce8c021f0c73aa75c4cb6f4.tar.gz
cpython-e503cf9b0e74ec76fce8c021f0c73aa75c4cb6f4.tar.bz2
Fix array.extend and array.__iadd__ to handle the case where an array
is extended with itself. This bug is specific the py3k version of arraymodule.c
Diffstat (limited to 'Lib')
-rwxr-xr-xLib/test/test_array.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/Lib/test/test_array.py b/Lib/test/test_array.py
index 79e1199..3dd4f6d 100755
--- a/Lib/test/test_array.py
+++ b/Lib/test/test_array.py
@@ -272,6 +272,12 @@ class BaseTest(unittest.TestCase):
a,
array.array(self.typecode, self.example[::-1]+2*self.example)
)
+ a = array.array(self.typecode, self.example)
+ a += a
+ self.assertEqual(
+ a,
+ array.array(self.typecode, self.example + self.example)
+ )
b = array.array(self.badtypecode())
self.assertRaises(TypeError, a.__add__, b)
@@ -667,6 +673,13 @@ class BaseTest(unittest.TestCase):
array.array(self.typecode, self.example+self.example[::-1])
)
+ a = array.array(self.typecode, self.example)
+ a.extend(a)
+ self.assertEqual(
+ a,
+ array.array(self.typecode, self.example+self.example)
+ )
+
b = array.array(self.badtypecode())
self.assertRaises(TypeError, a.extend, b)