| // Copyright 2017 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| (async function() { |
| TestRunner.addResult(`Tests that src and href element targets are rewritten properly.\n`); |
| await TestRunner.loadModule('elements_test_runner'); |
| await TestRunner.showPanel('elements'); |
| await TestRunner.loadHTML(` |
| <div id="data"> |
| <div id="id1">1</div> |
| <div id="id2">2</div> |
| <div id="id3">3</div> |
| <div id="id4">4</div> |
| <div id="id5">5</div> |
| <div id="id6">6</div> |
| <div id="id7">7</div> |
| <div id="id8">8</div> |
| <div id="id9">9</div> |
| <div id="id10">10</div> |
| </div> |
| `); |
| await TestRunner.evaluateInPagePromise(` |
| function insertNode() |
| { |
| var dataElement = document.getElementById("data"); |
| dataElement.appendChild(document.createElement("a")); |
| dataElement.removeChild(document.getElementById("id2")); |
| var aElement = document.createElement("a"); |
| dataElement.insertBefore(aElement, document.getElementById("id1")); |
| dataElement.appendChild(aElement); |
| dataElement.insertBefore(aElement, document.getElementById("id1")); |
| } |
| `); |
| |
| var dataTreeElement; |
| ElementsTestRunner.nodeWithId('data', step1); |
| |
| function step1(node) { |
| dataTreeElement = ElementsTestRunner.firstElementsTreeOutline().findTreeElement(node); |
| dataTreeElement._expandedChildrenLimit = 5; |
| dataTreeElement.reveal(); |
| dataTreeElement.expand(); |
| TestRunner.deprecatedRunAfterPendingDispatches(step2); |
| } |
| |
| function step2() { |
| TestRunner.addResult('=========== Loaded 5 children ==========='); |
| dumpElementsTree(); |
| TestRunner.addSniffer(Elements.ElementsTreeOutline.prototype, '_updateModifiedNodes', step3); |
| TestRunner.evaluateInPage('insertNode()'); |
| } |
| |
| function step3() { |
| TestRunner.addResult('=========== Modified children ==========='); |
| dumpElementsTree(); |
| dataTreeElement.expandAllButtonElement.button.click(); |
| TestRunner.deprecatedRunAfterPendingDispatches(step4); |
| } |
| |
| function step4() { |
| TestRunner.addResult('=========== Loaded all children ==========='); |
| dumpElementsTree(); |
| TestRunner.completeTest(); |
| } |
| |
| function dumpElementsTree() { |
| ElementsTestRunner.dumpElementsTree(null, 0); |
| } |
| })(); |