Note the case normalization of header names here, to .capitalize()-case. This should be preserved for backwards-compatibility. (In the HTTP case, normalization to .title()-case is done by urllib2 before sending headers to http.client). Note that e.
(self)
| 108 | ).headers["Spam-eggs"], "blah") |
| 109 | |
| 110 | def test_request_headers_methods(self): |
| 111 | """ |
| 112 | Note the case normalization of header names here, to |
| 113 | .capitalize()-case. This should be preserved for |
| 114 | backwards-compatibility. (In the HTTP case, normalization to |
| 115 | .title()-case is done by urllib2 before sending headers to |
| 116 | http.client). |
| 117 | |
| 118 | Note that e.g. r.has_header("spam-EggS") is currently False, and |
| 119 | r.get_header("spam-EggS") returns None, but that could be changed in |
| 120 | future. |
| 121 | |
| 122 | Method r.remove_header should remove items both from r.headers and |
| 123 | r.unredirected_hdrs dictionaries |
| 124 | """ |
| 125 | url = "http://example.com" |
| 126 | req = Request(url, headers={"Spam-eggs": "blah"}) |
| 127 | self.assertTrue(req.has_header("Spam-eggs")) |
| 128 | self.assertEqual(req.header_items(), [('Spam-eggs', 'blah')]) |
| 129 | |
| 130 | req.add_header("Foo-Bar", "baz") |
| 131 | self.assertEqual(sorted(req.header_items()), |
| 132 | [('Foo-bar', 'baz'), ('Spam-eggs', 'blah')]) |
| 133 | self.assertFalse(req.has_header("Not-there")) |
| 134 | self.assertIsNone(req.get_header("Not-there")) |
| 135 | self.assertEqual(req.get_header("Not-there", "default"), "default") |
| 136 | |
| 137 | req.remove_header("Spam-eggs") |
| 138 | self.assertFalse(req.has_header("Spam-eggs")) |
| 139 | |
| 140 | req.add_unredirected_header("Unredirected-spam", "Eggs") |
| 141 | self.assertTrue(req.has_header("Unredirected-spam")) |
| 142 | |
| 143 | req.remove_header("Unredirected-spam") |
| 144 | self.assertFalse(req.has_header("Unredirected-spam")) |
| 145 | |
| 146 | def test_password_manager(self): |
| 147 | mgr = urllib.request.HTTPPasswordMgr() |
nothing calls this directly
no test coverage detected