(self, doc, doc2)
| 1666 | and a2.isId) |
| 1667 | |
| 1668 | def assert_recursive_equal(self, doc, doc2): |
| 1669 | stack = [(doc, doc2)] |
| 1670 | while stack: |
| 1671 | n1, n2 = stack.pop() |
| 1672 | self.assertEqual(n1.nodeType, n2.nodeType) |
| 1673 | self.assertEqual(len(n1.childNodes), len(n2.childNodes)) |
| 1674 | self.assertEqual(n1.nodeName, n2.nodeName) |
| 1675 | self.assertFalse(n1.isSameNode(n2)) |
| 1676 | self.assertFalse(n2.isSameNode(n1)) |
| 1677 | if n1.nodeType == Node.DOCUMENT_TYPE_NODE: |
| 1678 | len(n1.entities) |
| 1679 | len(n2.entities) |
| 1680 | len(n1.notations) |
| 1681 | len(n2.notations) |
| 1682 | self.assertEqual(len(n1.entities), len(n2.entities)) |
| 1683 | self.assertEqual(len(n1.notations), len(n2.notations)) |
| 1684 | for i in range(len(n1.notations)): |
| 1685 | # XXX this loop body doesn't seem to be executed? |
| 1686 | no1 = n1.notations.item(i) |
| 1687 | no2 = n1.notations.item(i) |
| 1688 | self.assertEqual(no1.name, no2.name) |
| 1689 | self.assertEqual(no1.publicId, no2.publicId) |
| 1690 | self.assertEqual(no1.systemId, no2.systemId) |
| 1691 | stack.append((no1, no2)) |
| 1692 | for i in range(len(n1.entities)): |
| 1693 | e1 = n1.entities.item(i) |
| 1694 | e2 = n2.entities.item(i) |
| 1695 | self.assertEqual(e1.notationName, e2.notationName) |
| 1696 | self.assertEqual(e1.publicId, e2.publicId) |
| 1697 | self.assertEqual(e1.systemId, e2.systemId) |
| 1698 | stack.append((e1, e2)) |
| 1699 | if n1.nodeType != Node.DOCUMENT_NODE: |
| 1700 | self.assertTrue(n1.ownerDocument.isSameNode(doc)) |
| 1701 | self.assertTrue(n2.ownerDocument.isSameNode(doc2)) |
| 1702 | for i in range(len(n1.childNodes)): |
| 1703 | stack.append((n1.childNodes[i], n2.childNodes[i])) |
| 1704 | |
| 1705 | def testPickledDocument(self): |
| 1706 | doc = parseString(sample) |
no test coverage detected