summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_urllib.py
diff options
context:
space:
mode:
authorSenthil Kumaran <orsenthil@gmail.com>2010-01-08 18:41:40 (GMT)
committerSenthil Kumaran <orsenthil@gmail.com>2010-01-08 18:41:40 (GMT)
commit3ddc435af6873c6304058d7bcbcb19ee4fba7781 (patch)
treec7a03cf0a8b856bae2ebebba55b09f775845c7ca /Lib/test/test_urllib.py
parent3194d1454cbc11ec477d83fff3fc749972107d29 (diff)
downloadcpython-3ddc435af6873c6304058d7bcbcb19ee4fba7781.zip
cpython-3ddc435af6873c6304058d7bcbcb19ee4fba7781.tar.gz
cpython-3ddc435af6873c6304058d7bcbcb19ee4fba7781.tar.bz2
Fixing - Issue7026 - RuntimeError: dictionary changed size during iteration. Patch by flox
Diffstat (limited to 'Lib/test/test_urllib.py')
-rw-r--r--Lib/test/test_urllib.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/Lib/test/test_urllib.py b/Lib/test/test_urllib.py
index c74b101..10c8d90 100644
--- a/Lib/test/test_urllib.py
+++ b/Lib/test/test_urllib.py
@@ -6,6 +6,7 @@ import unittest
from test import test_support
import os
import mimetools
+import random
import tempfile
import StringIO
@@ -101,7 +102,7 @@ class ProxyTests(unittest.TestCase):
# Records changes to env vars
self.env = test_support.EnvironmentVarGuard()
# Delete all proxy related env vars
- for k, v in os.environ.iteritems():
+ for k in os.environ.keys():
if 'proxy' in k.lower():
self.env.unset(k)
@@ -409,6 +410,13 @@ class QuotingTests(unittest.TestCase):
self.assertEqual(urllib.quote_plus('alpha+beta gamma', '+'),
'alpha+beta+gamma')
+ def test_quote_leak(self):
+ # bug 5596 - highlight the refleak in the internal _safemaps cache
+ safe = ''.join(chr(random.randrange(128)) for i in '123456')
+ text = 'abcdefghijklmnopqrstuvwxyz'
+ result = urllib.quote(text, safe=safe)
+ self.assertEqual(result, text)
+
class UnquotingTests(unittest.TestCase):
"""Tests for unquote() and unquote_plus()