| Index: third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/nodes/MutationObserver-disconnect.html
|
| diff --git a/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/nodes/MutationObserver-disconnect.html b/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/nodes/MutationObserver-disconnect.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..ab7e083677abdc2defb99f858bf8428084185103
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/nodes/MutationObserver-disconnect.html
|
| @@ -0,0 +1,48 @@
|
| +<!DOCTYPE HTML>
|
| +<meta charset=utf-8>
|
| +<title>MutationObservers: disconnect</title>
|
| +<script src="../../../../resources/testharness.js"></script>
|
| +<script src="../../../../resources/testharnessreport.js"></script>
|
| +<h1>MutationObservers: disconnect</h1>
|
| +<div id="log"></div>
|
| +<section style="display: none">
|
| +<p id='n00'></p>
|
| +</section>
|
| +<script>
|
| +var n00 = document.getElementById('n00');
|
| +var parentTest = async_test("subtree mutations");
|
| +function masterMO(sequence, obs) {
|
| + parentTest.step(function() {
|
| + assert_equals(sequence.length, 4, "mutation records must match");
|
| + });
|
| + parentTest.done();
|
| +}
|
| +parentTest.step(function() {
|
| + (new MutationObserver(masterMO)).observe(n00.parentNode, {"subtree": true, "attributes": true});
|
| +});
|
| +
|
| +var disconnectTest = async_test("disconnect discarded some mutations");
|
| +function observerCallback(sequence, obs) {
|
| + disconnectTest.step(function() {
|
| + assert_equals(sequence.length, 1);
|
| + assert_equals(sequence[0].type, "attributes");
|
| + assert_equals(sequence[0].attributeName, "id");
|
| + assert_equals(sequence[0].oldValue, "latest");
|
| + disconnectTest.done();
|
| + });
|
| +}
|
| +
|
| +var observer;
|
| +disconnectTest.step(function() {
|
| + observer = new MutationObserver(observerCallback);
|
| + observer.observe(n00, {"attributes": true});
|
| + n00.id = "foo";
|
| + n00.id = "bar";
|
| + observer.disconnect();
|
| + observer.observe(n00, {"attributes": true, "attributeOldValue": true});
|
| + n00.id = "latest";
|
| + observer.disconnect();
|
| + observer.observe(n00, {"attributes": true, "attributeOldValue": true});
|
| + n00.id = "n0000";
|
| +});
|
| +</script>
|
|
|