Ensure expandItem works as expected.
(self)
| 103 | #self.assertEqual(pulldom.END_DOCUMENT, evt) |
| 104 | |
| 105 | def test_expandItem(self): |
| 106 | """Ensure expandItem works as expected.""" |
| 107 | items = pulldom.parseString(SMALL_SAMPLE) |
| 108 | # Loop through the nodes until we get to a "title" start tag: |
| 109 | for evt, item in items: |
| 110 | if evt == pulldom.START_ELEMENT and item.tagName == "title": |
| 111 | items.expandNode(item) |
| 112 | self.assertEqual(1, len(item.childNodes)) |
| 113 | break |
| 114 | else: |
| 115 | self.fail("No \"title\" element detected in SMALL_SAMPLE!") |
| 116 | # Loop until we get to the next start-element: |
| 117 | for evt, node in items: |
| 118 | if evt == pulldom.START_ELEMENT: |
| 119 | break |
| 120 | self.assertEqual("hr", node.tagName, |
| 121 | "expandNode did not leave DOMEventStream in the correct state.") |
| 122 | # Attempt to expand a standalone element: |
| 123 | items.expandNode(node) |
| 124 | self.assertEqual(next(items)[0], pulldom.CHARACTERS) |
| 125 | evt, node = next(items) |
| 126 | self.assertEqual(node.tagName, "p") |
| 127 | items.expandNode(node) |
| 128 | next(items) # Skip character data |
| 129 | evt, node = next(items) |
| 130 | self.assertEqual(node.tagName, "html") |
| 131 | with self.assertRaises(StopIteration): |
| 132 | next(items) |
| 133 | items.clear() |
| 134 | self.assertIsNone(items.parser) |
| 135 | self.assertIsNone(items.stream) |
| 136 | |
| 137 | @unittest.expectedFailure |
| 138 | def test_comment(self): |
nothing calls this directly
no test coverage detected