browser/devtools/markupview/test/browser_markupview_html_edit_02.js

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

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 });

mercurial