Patch #1752270, #1750931: complain if urllib2 add_handler called

without handler.
This commit is contained in:
Georg Brandl 2007-07-12 08:05:45 +00:00
parent c6057c7812
commit f91149e4a1
2 changed files with 10 additions and 0 deletions

View File

@ -381,6 +381,12 @@ class MockPasswordManager:
class OpenerDirectorTests(unittest.TestCase):
def test_add_non_handler(self):
class NonHandler(object):
pass
self.assertRaises(TypeError,
OpenerDirector().add_handler, NonHandler())
def test_badly_named_methods(self):
# test work-around for three methods that accidentally follow the
# naming conventions for handler methods

View File

@ -295,6 +295,10 @@ class OpenerDirector:
self.process_request = {}
def add_handler(self, handler):
if not hasattr(handler, "add_parent"):
raise TypeError("expected BaseHandler instance, got %r" %
type(handler))
added = False
for meth in dir(handler):
if meth in ["redirect_request", "do_open", "proxy_open"]: