mirror of
https://github.com/roytam1/palemoon27.git
synced 2026-06-03 21:28:35 +00:00
46 lines
1.5 KiB
JavaScript
46 lines
1.5 KiB
JavaScript
/* vim: set ts=2 et sw=2 tw=80: */
|
|
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
// Test editing a node's text content
|
|
|
|
const TEST_URL = TEST_URL_ROOT + "doc_markup_edit.html";
|
|
|
|
add_task(function*() {
|
|
let {inspector} = yield addTab(TEST_URL).then(openInspector);
|
|
|
|
info("Expanding all nodes");
|
|
yield inspector.markup.expandAll();
|
|
yield waitForMultipleChildrenUpdates(inspector);
|
|
|
|
let node = getNode(".node6").firstChild;
|
|
is(node.nodeValue, "line6", "The test node's text content is correct");
|
|
|
|
info("Changing the text content");
|
|
|
|
info("Listening to the markupmutation event");
|
|
let onMutated = inspector.once("markupmutation");
|
|
let container = yield getContainerForSelector(".node6", inspector);
|
|
let field = container.elt.querySelector("pre");
|
|
setEditableFieldValue(field, "New text", inspector);
|
|
yield onMutated;
|
|
|
|
is(node.nodeValue, "New text", "Test test node's text content has changed");
|
|
|
|
yield inspector.once("inspector-updated");
|
|
});
|
|
|
|
// The expand all operation of the markup-view calls itself recursively and
|
|
// there's not one event we can wait for to know when it's done
|
|
function* waitForMultipleChildrenUpdates(inspector) {
|
|
// As long as child updates are queued up while we wait for an update already
|
|
// wait again
|
|
if (inspector.markup._queuedChildUpdates &&
|
|
inspector.markup._queuedChildUpdates.size) {
|
|
yield waitForChildrenUpdated(inspector);
|
|
return yield waitForMultipleChildrenUpdates(inspector);
|
|
}
|
|
}
|