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

