summaryrefslogtreecommitdiff
path: root/Lib
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2004-10-17 16:40:14 +0000
committerRaymond Hettinger <python@rcn.com>2004-10-17 16:40:14 +0000
commit7df1b30f5048a23c7d75deec4f8961315df78b82 (patch)
tree6b73e5a5fa23246cf26ffcafbe8f2e7652f21bc2 /Lib
parentb3e2be7ffa89f355fc7f7c33289e68a2028acc03 (diff)
downloadcpython-7df1b30f5048a23c7d75deec4f8961315df78b82.tar.gz
Fix and test weak referencing of itertools.tee objects.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_itertools.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/Lib/test/test_itertools.py b/Lib/test/test_itertools.py
index aa80910547..0f74c62073 100644
--- a/Lib/test/test_itertools.py
+++ b/Lib/test/test_itertools.py
@@ -1,6 +1,7 @@
import unittest
from test import test_support
from itertools import *
+from weakref import proxy
import sys
import operator
import random
@@ -382,6 +383,13 @@ class TestBasicOps(unittest.TestCase):
t3 = tnew(t1)
self.assert_(list(t1) == list(t2) == list(t3) == list('abc'))
+ # test that tee objects are weak referencable
+ a, b = tee(xrange(10))
+ p = proxy(a)
+ self.assertEqual(getattr(p, '__class__'), type(b))
+ del a
+ self.assertRaises(ReferenceError, getattr, p, '__class__')
+
def test_StopIteration(self):
self.assertRaises(StopIteration, izip().next)