/* Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ */ /* import-globals-from helper_outerhtml_test_runner.js */ "use strict"; // Test outerHTML edition via the markup-view requestLongerTimeout(2); loadHelperScript("helper_outerhtml_test_runner.js"); const TEST_DATA = [ { selector: "#one", oldHTML: '
First Div
', newHTML: '
First Div
', async validate() { const text = await getContentPageElementProperty("#one", "textContent"); is(text, "First Div", "New div has expected text content"); const num = await getNumberOfMatchingElementsInContentPage("#one em"); is(num, 0, "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
", async validate({ pageNodeFront, selectedNodeFront }) { is(pageNodeFront, selectedNodeFront, "Original element is selected"); const html = await getContentPageElementProperty( "#addedAttribute", "outerHTML" ); is( html, '
addedAttribute
', "Attributes have been added" ); }, }, { selector: "#changedTag", oldHTML: '
changedTag
', newHTML: '

changedTag

', }, { selector: "#siblings", oldHTML: '
siblings
', newHTML: '
before sibling
' + '
siblings (updated)
' + '
after sibling
', async validate({ selectedNodeFront, inspector }) { const beforeSiblingFront = await getNodeFront( "#siblings-before-sibling", inspector ); is(beforeSiblingFront, selectedNodeFront, "Sibling has been selected"); const text = await getContentPageElementProperty( "#siblings", "textContent" ); is(text, "siblings (updated)", "New div has expected text content"); const beforeText = await getContentPageElementProperty( "#siblings-before-sibling", "textContent" ); is(beforeText, "before sibling", "Sibling has been inserted"); const afterText = await getContentPageElementProperty( "#siblings-after-sibling", "textContent" ); is(afterText, "after sibling", "Sibling has been inserted"); }, }, ]; const TEST_URL = "data:text/html," + "" + "" + "" + TEST_DATA.map(outer => outer.oldHTML).join("\n") + "" + ""; add_task(async function () { const { inspector } = await openInspectorForURL(TEST_URL); inspector.markup._frame.focus(); await runEditOuterHTMLTests(TEST_DATA, inspector); });