diff -r 000000000000 -r 6474c204b198 browser/devtools/markupview/test/browser_markupview_html_edit_02.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browser/devtools/markupview/test/browser_markupview_html_edit_02.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,100 @@ +/* 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: "#badMarkup1", + oldHTML: '
badMarkup1
', + newHTML: '
badMarkup1
hanging', + validate: function(pageNode, selectedNode) { + is(pageNode, selectedNode, "Original element is selected"); + + let textNode = pageNode.nextSibling; + + is(textNode.nodeName, "#text", "Sibling is a text element"); + is(textNode.data, " hanging", "New text node has expected text content"); + } + }, + { + selector: "#badMarkup2", + oldHTML: '
badMarkup2
', + newHTML: '
badMarkup2
hanging
', + validate: function(pageNode, selectedNode) { + is(pageNode, selectedNode, "Original element is selected"); + + let textNode = pageNode.nextSibling; + + is(textNode.nodeName, "#text", "Sibling is a text element"); + is(textNode.data, " hanging", "New text node has expected text content"); + } + }, + { + selector: "#badMarkup3", + oldHTML: '
badMarkup3
', + newHTML: '
badMarkup3 Emphasized and strong
', + validate: function(pageNode, selectedNode) { + is(pageNode, selectedNode, "Original element is selected"); + + let em = getNode("#badMarkup3 em"); + let strong = getNode("#badMarkup3 strong"); + + is(em.textContent, "Emphasized and strong", " was auto created"); + is(strong.textContent, " and strong", " was auto created"); + } + }, + { + selector: "#badMarkup4", + oldHTML: '
badMarkup4
', + newHTML: '
badMarkup4

', + validate: function(pageNode, selectedNode) { + is(pageNode, selectedNode, "Original element is selected"); + + let div = getNode("#badMarkup4"); + let p = getNode("#badMarkup4 p"); + + is(div.textContent, "badMarkup4", "textContent is correct"); + is(div.tagName, "DIV", "did not change to

tag"); + is(p.textContent, "", "The

tag has no children"); + is(p.tagName, "P", "Created an empty

tag"); + } + }, + { + selector: "#badMarkup5", + oldHTML: '

badMarkup5

', + newHTML: '

badMarkup5

with a nested div

', + validate: function(pageNode, selectedNode) { + is(pageNode, selectedNode, "Original element is selected"); + + let p = getNode("#badMarkup5"); + let nodiv = getNode("#badMarkup5 div"); + let div = getNode("#badMarkup5 ~ div"); + + ok(!nodiv, "The invalid markup got created as a sibling"); + is(p.textContent, "badMarkup5 ", "The

tag does not take in the

content"); + is(p.tagName, "P", "Did not change to a
tag"); + is(div.textContent, "with a nested div", "textContent is correct"); + is(div.tagName, "DIV", "Did not change to

tag"); + } + } +]; + +const TEST_URL = "data:text/html," + + "" + + "" + + "" + + [outer.oldHTML for (outer of TEST_DATA)].join("\n") + + "" + + ""; + +let test = asyncTest(function*() { + let {inspector} = yield addTab(TEST_URL).then(openInspector); + inspector.markup._frame.focus(); + yield runEditOuterHTMLTests(TEST_DATA, inspector); +});