(self)
| 16 | |
| 17 | class XMLBuilderTest(unittest.TestCase): |
| 18 | def test_entity_resolver(self): |
| 19 | body = ( |
| 20 | b"HTTP/1.1 200 OK\r\nContent-Type: text/xml; charset=utf-8\r\n\r\n" |
| 21 | + SMALL_SAMPLE |
| 22 | ) |
| 23 | |
| 24 | sock = FakeSocket(body) |
| 25 | response = client.HTTPResponse(sock) |
| 26 | response.begin() |
| 27 | attrs = {"open.return_value": response} |
| 28 | opener = mock.Mock(**attrs) |
| 29 | |
| 30 | resolver = xmlbuilder.DOMEntityResolver() |
| 31 | |
| 32 | with mock.patch("urllib.request.build_opener") as mock_build: |
| 33 | mock_build.return_value = opener |
| 34 | source = resolver.resolveEntity(None, "http://example.com/2000/svg") |
| 35 | |
| 36 | self.assertIsInstance(source, xmlbuilder.DOMInputSource) |
| 37 | self.assertIsNone(source.publicId) |
| 38 | self.assertEqual(source.systemId, "http://example.com/2000/svg") |
| 39 | self.assertEqual(source.baseURI, "http://example.com/2000/") |
| 40 | self.assertEqual(source.encoding, "utf-8") |
| 41 | self.assertIs(source.byteStream, response) |
| 42 | |
| 43 | self.assertIsNone(source.characterStream) |
| 44 | self.assertIsNone(source.stringData) |
| 45 | |
| 46 | def test_builder(self): |
| 47 | imp = getDOMImplementation() |
nothing calls this directly
no test coverage detected