<!DOCTYPE html>
<script src="../../../resources/js-test-pre.js"></script>
<script>
window.jsTestIsAsync = true;

description('Test that MutationObservers are delivered to in order of creation.');
function finish() {
    shouldBe('order.length', '10');
    shouldBe('order[0]', '0');
    shouldBe('order[1]', '1');
    shouldBe('order[2]', '2');
    shouldBe('order[3]', '3');
    shouldBe('order[4]', '4');
    shouldBe('order[5]', '5');
    shouldBe('order[6]', '6');
    shouldBe('order[7]', '7');
    shouldBe('order[8]', '8');
    shouldBe('order[9]', '9');
    finishJSTest();
}

var order = [];
var observers = [];

function setUpOrdering(num) {
    observers.push(new MutationObserver(function(mutations) {
        order.push(num);
    }));
}

for (var i = 0; i < 10; ++i) {
    setUpOrdering(i);
}

var div = document.createElement('div');
observers[3].observe(div, {attributes: true});
observers[2].observe(div, {characterData: true, subtree: true});
observers[1].observe(div, {attributes: true});
observers[7].observe(div, {childList: true});
observers[4].observe(div, {attributes: true});
observers[9].observe(div, {attributes: true});
observers[0].observe(div, {childList: true});
observers[5].observe(div, {attributes: true});
observers[6].observe(div, {characterData: true, subtree: true});
observers[8].observe(div, {attributes: true});
div.setAttribute('foo', 'bar');
div.appendChild(document.createTextNode('hello'));
div.firstChild.textContent = 'goodbye';
setTimeout(finish, 0);
</script>
<script src="../../../resources/js-test-post.js"></script>
