/* 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 outerHTML edition via the markup-view
loadHelperScript("helper_outerhtml_test_runner.js");
const TEST_DATA = [
{
selector: "#one",
oldHTML: '
First Div
',
newHTML: 'First Div
',
validate: function*(pageNode, pageNodeFront, selectedNodeFront) {
is(pageNode.textContent, "First Div", "New div has expected text content");
ok(!getNode("#one em"), "No em remaining")
}
},
{
selector: "#removedChildren",
oldHTML: 'removedChild Italic Bold Underline Normal
',
newHTML: 'removedChild
'
},
{
selector: "#addedChildren",
oldHTML: 'addedChildren
',
newHTML: 'addedChildren Italic Bold Underline Normal
'
},
{
selector: "#addedAttribute",
oldHTML: 'addedAttribute
',
newHTML: 'addedAttribute
',
validate: function*(pageNode, pageNodeFront, selectedNodeFront) {
is(pageNodeFront, selectedNodeFront, "Original element is selected");
is(pageNode.outerHTML, 'addedAttribute
',
"Attributes have been added");
}
},
{
selector: "#changedTag",
oldHTML: 'changedTag
',
newHTML: 'changedTag
'
},
{
selector: "#siblings",
oldHTML: 'siblings
',
newHTML: 'before sibling
' +
'siblings (updated)
' +
'after sibling
',
validate: function*(pageNode, pageNodeFront, selectedNodeFront, inspector) {
let beforeSibling = getNode("#siblings-before-sibling");
let beforeSiblingFront = yield getNodeFront("#siblings-before-sibling", inspector);
let afterSibling = getNode("#siblings-after-sibling");
is(beforeSiblingFront, selectedNodeFront, "Sibling has been selected");
is(pageNode.textContent, "siblings (updated)", "New div has expected text content");
is(beforeSibling.textContent, "before sibling", "Sibling has been inserted");
is(afterSibling.textContent, "after sibling", "Sibling has been inserted");
}
}
];
const TEST_URL = "data:text/html," +
"" +
"" +
"" +
[outer.oldHTML for (outer of TEST_DATA)].join("\n") +
"" +
"