| Tests for replacing exactly one Text node. The optimization to update its data should not be observable. |
| |
| On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". |
| |
| |
| Keeping a reference |
| container = createElementWithText("old"); textNode = container.firstChild |
| PASS container.innerHTML = "new"; container.firstChild is not textNode |
| |
| Mutation observer |
| container = createElementWithText("old"); mutationObserver.observe(container, {childList: true}); |
| PASS container.innerHTML = "new"; records = mutationObserver.takeRecords(); records.length is 1 |
| PASS records[0].type is "childList" |
| PASS records[0].removedNodes.length is 1 |
| PASS records[0].removedNodes[0].data is "old" |
| PASS records[0].addedNodes.length is 1 |
| PASS records[0].addedNodes[0].data is "new" |
| |
| DOMSubtreeModified event |
| PASS container = createElementWithText("old"); countEvent(container, "DOMSubtreeModified"); eventCount is 0 |
| PASS container.innerHTML = "new"; eventCount > 0 is true |
| |
| DOMNodeInserted event |
| PASS container = createElementWithText("old"); countEvent(container, "DOMNodeInserted"); eventCount is 0 |
| PASS container.innerHTML = "new"; eventCount is 1 |
| |
| DOMNodeRemoved event |
| PASS container = createElementWithText("old"); countEvent(container, "DOMNodeRemoved"); eventCount is 0 |
| PASS container.innerHTML = "new"; eventCount is 1 |
| |
| DOMCharacterDataModified event |
| PASS container = createElementWithText("old"); countEvent(container, "DOMCharacterDataModified"); eventCount is 0 |
| PASS container.innerHTML = "new"; eventCount is 0 |
| PASS successfullyParsed is true |
| |
| TEST COMPLETE |
| |