Test DOMEventStream parsing semantics.
(self)
| 41 | list(pulldom.parse(fin)) |
| 42 | |
| 43 | def test_parse_semantics(self): |
| 44 | """Test DOMEventStream parsing semantics.""" |
| 45 | |
| 46 | items = pulldom.parseString(SMALL_SAMPLE) |
| 47 | evt, node = next(items) |
| 48 | # Just check the node is a Document: |
| 49 | self.assertHasAttr(node, "createElement") |
| 50 | self.assertEqual(pulldom.START_DOCUMENT, evt) |
| 51 | evt, node = next(items) |
| 52 | self.assertEqual(pulldom.START_ELEMENT, evt) |
| 53 | self.assertEqual("html", node.tagName) |
| 54 | self.assertEqual(2, len(node.attributes)) |
| 55 | self.assertEqual(node.attributes.getNamedItem("xmlns:xdc").value, |
| 56 | "http://www.xml.com/books") |
| 57 | evt, node = next(items) |
| 58 | self.assertEqual(pulldom.CHARACTERS, evt) # Line break |
| 59 | evt, node = next(items) |
| 60 | # XXX - A comment should be reported here! |
| 61 | # self.assertEqual(pulldom.COMMENT, evt) |
| 62 | # Line break after swallowed comment: |
| 63 | self.assertEqual(pulldom.CHARACTERS, evt) |
| 64 | evt, node = next(items) |
| 65 | self.assertEqual("title", node.tagName) |
| 66 | title_node = node |
| 67 | evt, node = next(items) |
| 68 | self.assertEqual(pulldom.CHARACTERS, evt) |
| 69 | self.assertEqual("Introduction to XSL", node.data) |
| 70 | evt, node = next(items) |
| 71 | self.assertEqual(pulldom.END_ELEMENT, evt) |
| 72 | self.assertEqual("title", node.tagName) |
| 73 | self.assertTrue(title_node is node) |
| 74 | evt, node = next(items) |
| 75 | self.assertEqual(pulldom.CHARACTERS, evt) |
| 76 | evt, node = next(items) |
| 77 | self.assertEqual(pulldom.START_ELEMENT, evt) |
| 78 | self.assertEqual("hr", node.tagName) |
| 79 | evt, node = next(items) |
| 80 | self.assertEqual(pulldom.END_ELEMENT, evt) |
| 81 | self.assertEqual("hr", node.tagName) |
| 82 | evt, node = next(items) |
| 83 | self.assertEqual(pulldom.CHARACTERS, evt) |
| 84 | evt, node = next(items) |
| 85 | self.assertEqual(pulldom.START_ELEMENT, evt) |
| 86 | self.assertEqual("p", node.tagName) |
| 87 | evt, node = next(items) |
| 88 | self.assertEqual(pulldom.START_ELEMENT, evt) |
| 89 | self.assertEqual("xdc:author", node.tagName) |
| 90 | evt, node = next(items) |
| 91 | self.assertEqual(pulldom.CHARACTERS, evt) |
| 92 | evt, node = next(items) |
| 93 | self.assertEqual(pulldom.END_ELEMENT, evt) |
| 94 | self.assertEqual("xdc:author", node.tagName) |
| 95 | evt, node = next(items) |
| 96 | self.assertEqual(pulldom.END_ELEMENT, evt) |
| 97 | evt, node = next(items) |
| 98 | self.assertEqual(pulldom.CHARACTERS, evt) |
| 99 | evt, node = next(items) |
| 100 | self.assertEqual(pulldom.END_ELEMENT, evt) |
nothing calls this directly
no test coverage detected