MCPcopy Index your code
hub / github.com/python/cpython / test_build_opener

Method test_build_opener

Lib/test/test_urllib2.py:1873–1915  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1871 for h in opener.handlers))
1872
1873 def test_build_opener(self):
1874 class MyHTTPHandler(urllib.request.HTTPHandler):
1875 pass
1876
1877 class FooHandler(urllib.request.BaseHandler):
1878 def foo_open(self):
1879 pass
1880
1881 class BarHandler(urllib.request.BaseHandler):
1882 def bar_open(self):
1883 pass
1884
1885 build_opener = urllib.request.build_opener
1886
1887 o = build_opener(FooHandler, BarHandler)
1888 self.opener_has_handler(o, FooHandler)
1889 self.opener_has_handler(o, BarHandler)
1890
1891 # can take a mix of classes and instances
1892 o = build_opener(FooHandler, BarHandler())
1893 self.opener_has_handler(o, FooHandler)
1894 self.opener_has_handler(o, BarHandler)
1895
1896 # subclasses of default handlers override default handlers
1897 o = build_opener(MyHTTPHandler)
1898 self.opener_has_handler(o, MyHTTPHandler)
1899
1900 # a particular case of overriding: default handlers can be passed
1901 # in explicitly
1902 o = build_opener()
1903 self.opener_has_handler(o, urllib.request.HTTPHandler)
1904 o = build_opener(urllib.request.HTTPHandler)
1905 self.opener_has_handler(o, urllib.request.HTTPHandler)
1906 o = build_opener(urllib.request.HTTPHandler())
1907 self.opener_has_handler(o, urllib.request.HTTPHandler)
1908
1909 # Issue2670: multiple handlers sharing the same base class
1910 class MyOtherHTTPHandler(urllib.request.HTTPHandler):
1911 pass
1912
1913 o = build_opener(MyHTTPHandler, MyOtherHTTPHandler)
1914 self.opener_has_handler(o, MyHTTPHandler)
1915 self.opener_has_handler(o, MyOtherHTTPHandler)
1916
1917 def test_HTTPError_interface(self):
1918 """

Callers

nothing calls this directly

Calls 3

opener_has_handlerMethod · 0.95
build_openerFunction · 0.85
BarHandlerClass · 0.85

Tested by

no test coverage detected