(self)
| 1521 | self.in_cdata = False |
| 1522 | |
| 1523 | def test_handlers(self): |
| 1524 | class TestLexicalHandler(LexicalHandler): |
| 1525 | def __init__(self, test_harness, *args, **kwargs): |
| 1526 | super().__init__(*args, **kwargs) |
| 1527 | self.test_harness = test_harness |
| 1528 | |
| 1529 | def startCDATA(self): |
| 1530 | self.test_harness.in_cdata = True |
| 1531 | |
| 1532 | def endCDATA(self): |
| 1533 | self.test_harness.in_cdata = False |
| 1534 | |
| 1535 | class TestCharHandler(ContentHandler): |
| 1536 | def __init__(self, test_harness, *args, **kwargs): |
| 1537 | super().__init__(*args, **kwargs) |
| 1538 | self.test_harness = test_harness |
| 1539 | |
| 1540 | def characters(self, content): |
| 1541 | if content != '\n': |
| 1542 | h = self.test_harness |
| 1543 | t = h.specified_chars[h.char_index] |
| 1544 | h.assertEqual(t[0], content) |
| 1545 | h.assertEqual(t[1], h.in_cdata) |
| 1546 | h.char_index += 1 |
| 1547 | |
| 1548 | self.parser = create_parser() |
| 1549 | self.parser.setContentHandler(TestCharHandler(self)) |
| 1550 | self.parser.setProperty( |
| 1551 | 'http://xml.org/sax/properties/lexical-handler', |
| 1552 | TestLexicalHandler(self)) |
| 1553 | source = InputSource() |
| 1554 | source.setCharacterStream(self.test_data) |
| 1555 | self.parser.parse(source) |
| 1556 | |
| 1557 | self.assertFalse(self.in_cdata) |
| 1558 | self.assertEqual(self.char_index, 2) |
| 1559 | |
| 1560 | |
| 1561 | class TestModuleAll(unittest.TestCase): |
nothing calls this directly
no test coverage detected