Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 /* vim: set ts=2 et sw=2 tw=80: */
2 /* Any copyright is dedicated to the Public Domain.
3 http://creativecommons.org/publicdomain/zero/1.0/ */
5 "use strict";
7 // Test outerHTML edition via the markup-view
9 loadHelperScript("helper_outerhtml_test_runner.js");
11 const TEST_DATA = [
12 {
13 selector: "#badMarkup1",
14 oldHTML: '<div id="badMarkup1">badMarkup1</div>',
15 newHTML: '<div id="badMarkup1">badMarkup1</div> hanging</div>',
16 validate: function(pageNode, selectedNode) {
17 is(pageNode, selectedNode, "Original element is selected");
19 let textNode = pageNode.nextSibling;
21 is(textNode.nodeName, "#text", "Sibling is a text element");
22 is(textNode.data, " hanging", "New text node has expected text content");
23 }
24 },
25 {
26 selector: "#badMarkup2",
27 oldHTML: '<div id="badMarkup2">badMarkup2</div>',
28 newHTML: '<div id="badMarkup2">badMarkup2</div> hanging<div></div></div></div></body>',
29 validate: function(pageNode, selectedNode) {
30 is(pageNode, selectedNode, "Original element is selected");
32 let textNode = pageNode.nextSibling;
34 is(textNode.nodeName, "#text", "Sibling is a text element");
35 is(textNode.data, " hanging", "New text node has expected text content");
36 }
37 },
38 {
39 selector: "#badMarkup3",
40 oldHTML: '<div id="badMarkup3">badMarkup3</div>',
41 newHTML: '<div id="badMarkup3">badMarkup3 <em>Emphasized <strong> and strong</div>',
42 validate: function(pageNode, selectedNode) {
43 is(pageNode, selectedNode, "Original element is selected");
45 let em = getNode("#badMarkup3 em");
46 let strong = getNode("#badMarkup3 strong");
48 is(em.textContent, "Emphasized and strong", "<em> was auto created");
49 is(strong.textContent, " and strong", "<strong> was auto created");
50 }
51 },
52 {
53 selector: "#badMarkup4",
54 oldHTML: '<div id="badMarkup4">badMarkup4</div>',
55 newHTML: '<div id="badMarkup4">badMarkup4</p>',
56 validate: function(pageNode, selectedNode) {
57 is(pageNode, selectedNode, "Original element is selected");
59 let div = getNode("#badMarkup4");
60 let p = getNode("#badMarkup4 p");
62 is(div.textContent, "badMarkup4", "textContent is correct");
63 is(div.tagName, "DIV", "did not change to <p> tag");
64 is(p.textContent, "", "The <p> tag has no children");
65 is(p.tagName, "P", "Created an empty <p> tag");
66 }
67 },
68 {
69 selector: "#badMarkup5",
70 oldHTML: '<p id="badMarkup5">badMarkup5</p>',
71 newHTML: '<p id="badMarkup5">badMarkup5 <div>with a nested div</div></p>',
72 validate: function(pageNode, selectedNode) {
73 is(pageNode, selectedNode, "Original element is selected");
75 let p = getNode("#badMarkup5");
76 let nodiv = getNode("#badMarkup5 div");
77 let div = getNode("#badMarkup5 ~ div");
79 ok(!nodiv, "The invalid markup got created as a sibling");
80 is(p.textContent, "badMarkup5 ", "The <p> tag does not take in the <div> content");
81 is(p.tagName, "P", "Did not change to a <div> tag");
82 is(div.textContent, "with a nested div", "textContent is correct");
83 is(div.tagName, "DIV", "Did not change to <p> tag");
84 }
85 }
86 ];
88 const TEST_URL = "data:text/html," +
89 "<!DOCTYPE html>" +
90 "<head><meta charset='utf-8' /></head>" +
91 "<body>" +
92 [outer.oldHTML for (outer of TEST_DATA)].join("\n") +
93 "</body>" +
94 "</html>";
96 let test = asyncTest(function*() {
97 let {inspector} = yield addTab(TEST_URL).then(openInspector);
98 inspector.markup._frame.focus();
99 yield runEditOuterHTMLTests(TEST_DATA, inspector);
100 });