95 lines
3.4 KiB
Plaintext
95 lines
3.4 KiB
Plaintext
Test WebKitMutationObserver.observe on attributes.
|
|
|
|
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
|
|
|
|
|
|
Testing basic aspects of childList observation.
|
|
...can childList changes be observed at all
|
|
PASS mutations.length is 1
|
|
PASS mutations[0].type is "childList"
|
|
PASS mutations[0].addedNodes.length is 1
|
|
PASS mutations[0].addedNodes[0] is removedDiv1
|
|
...observer.disconnect() should prevent further delivery of mutations.
|
|
PASS mutations is null
|
|
...re-observing after disconnect works with the same observer.
|
|
PASS mutations.length is 2
|
|
PASS mutations[0].type is "childList"
|
|
PASS mutations[0].removedNodes.length is 1
|
|
PASS mutations[0].removedNodes[0] is removedDiv1
|
|
PASS mutations[1].type is "childList"
|
|
PASS mutations[1].removedNodes.length is 1
|
|
PASS mutations[1].removedNodes[0] is removedDiv2
|
|
|
|
Testing that observing without specifying "childList" does not result in hearing about childList changes.
|
|
PASS mutations is null
|
|
|
|
Testing that re-observing the same node with the same observer has the effect of resetting the options.
|
|
PASS calls is 1
|
|
PASS mutations.length is 1
|
|
PASS mutations[0].type is "childList"
|
|
PASS mutations is null
|
|
|
|
Testing that multiple observers can be registered to a given node and both receive mutations.
|
|
PASS mutations.length is 1
|
|
PASS mutations[0].type is "childList"
|
|
PASS mutations2.length is 1
|
|
PASS mutations2[0].type is "childList"
|
|
|
|
Testing that innerText and innerHTML always result in a single childList mutation.
|
|
...innerHTML
|
|
PASS mutations.length is 1
|
|
PASS mutations[0].type is "childList"
|
|
PASS mutations[0].addedNodes.length is 3
|
|
PASS mutations[0].addedNodes[0] is addedDiv1
|
|
PASS mutations[0].addedNodes[1] is addedDiv2
|
|
PASS mutations[0].addedNodes[2] is addedDiv3
|
|
PASS mutations[0].removedNodes.length is 2
|
|
PASS mutations[0].removedNodes[0] is removedDiv1
|
|
PASS mutations[0].removedNodes[1] is removedDiv2
|
|
...innerText
|
|
PASS mutations.length is 1
|
|
PASS mutations[0].type is "childList"
|
|
PASS mutations[0].addedNodes.length is 1
|
|
PASS mutations[0].removedNodes.length is 3
|
|
|
|
Testing that replaceChild results in minimal childList mutations.
|
|
...simple replace child
|
|
PASS mutations.length is 1
|
|
PASS mutations[0].type is "childList"
|
|
PASS mutations[0].addedNodes.length is 1
|
|
PASS mutations[0].addedNodes[0] is addedDiv1
|
|
PASS mutations[0].removedNodes.length is 1
|
|
PASS mutations[0].removedNodes[0] is removedDiv1
|
|
...replace with DocumentFragment
|
|
PASS mutations.length is 1
|
|
PASS mutations[0].type is "childList"
|
|
PASS mutations[0].addedNodes.length is 2
|
|
PASS mutations[0].addedNodes[0] is addedDiv1
|
|
PASS mutations[0].addedNodes[1] is addedDiv2
|
|
PASS mutations[0].removedNodes.length is 1
|
|
PASS mutations[0].removedNodes[0] is removedDiv1
|
|
|
|
Testing that insertBefore results in minimal childList mutations.
|
|
PASS mutations.length is 1
|
|
PASS mutations[0].type is "childList"
|
|
PASS mutations[0].addedNodes.length is 2
|
|
PASS mutations[0].addedNodes[0] is addedDiv1
|
|
PASS mutations[0].addedNodes[1] is addedDiv2
|
|
PASS mutations[0].removedNodes.length is 0
|
|
|
|
Testing that appendChild results in minimal childList mutations.
|
|
PASS mutations.length is 1
|
|
PASS mutations[0].type is "childList"
|
|
PASS mutations[0].addedNodes.length is 2
|
|
PASS mutations[0].addedNodes[0] is addedDiv1
|
|
PASS mutations[0].addedNodes[1] is addedDiv2
|
|
PASS mutations[0].removedNodes.length is 0
|
|
|
|
Setting an empty childlist to the empty string with innerHTML should not assert.
|
|
PASS mutations is null
|
|
|
|
PASS successfullyParsed is true
|
|
|
|
TEST COMPLETE
|
|
|