content/base/test/test_bug454326.html

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 <!DOCTYPE HTML>
     2 <html>
     3 <!--
     4 https://bugzilla.mozilla.org/show_bug.cgi?id=454326
     5 -->
     6 <head>
     7   <title>Test for Bug 454326</title>
     8   <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
     9   <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
    10 </head>
    11 <body>
    12 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=454326">Mozilla Bug 454326</a>
    13 <p id="display"></p>
    14 <div id="content" style="display: none">
    15 </div>
    17 <div id="partial-text-selection">Hello Hello <div></div>World!</div>
    18 <div id="partial-element-selection"><div id="begin">Hello Hello </div><div></div><div id="end">World!</div></div>
    19 <pre id="test">
    20 <script class="testbody" type="text/javascript">
    22 /** Test for Bug 454326 **/
    24   function reinitPartialTextSelection() {
    25     var pts = document.getElementById("partial-text-selection");
    26     pts.textContent = null;
    27     pts.appendChild(document.createTextNode("Hello Hello "));
    28     pts.appendChild(document.createElement("div"));
    29     pts.appendChild(document.createTextNode("World!"));
    30   }
    33   function doTest() {
    34     var pts = document.getElementById("partial-text-selection");
    35     var ex = null;
    36     try {
    37       var r1 = document.createRange();
    38       r1.setStart(pts.firstChild, 6);
    39       r1.setEnd(pts.lastChild, 6);
    40       is(r1.toString(), "Hello World!", "Wrong range!");
    41       r1.surroundContents(document.createElement("div"));
    42       is(r1.toString(), "Hello World!", "Wrong range!");
    43     } catch(e) {
    44       ex = e;
    45     }
    46     is(ex, null, "Unexpected exception!");
    48     reinitPartialTextSelection();
    49     ex = null;
    50     try {
    51       var r2 = document.createRange();
    52       r2.setStart(pts.firstChild, 6);
    53       r2.setEnd(pts, 2);
    54       is(r2.toString(), "Hello ", "Wrong range!");
    55       r2.surroundContents(document.createElement("div"));
    56       is(r2.toString(), "Hello ", "Wrong range!");
    57     } catch(e) {
    58       ex = e;
    59     }
    60     is(ex, null, "Unexpected exception!");
    62     reinitPartialTextSelection();
    63     ex = null;
    64     try {
    65       var r3 = document.createRange();
    66       r3.setStart(pts, 1);
    67       r3.setEnd(pts.lastChild, 6);
    68       is(r3.toString(), "World!", "Wrong range!");
    69       r3.surroundContents(document.createElement("div"));
    70       is(r3.toString(), "World!", "Wrong range!");
    71     } catch(e) {
    72       ex = e;
    73     }
    74     is(ex, null, "Unexpected exception!");
    76     reinitPartialTextSelection();
    77     ex = null;
    78     try {
    79       var r3 = document.createRange();
    80       r3.setStart(pts.firstChild, 6);
    81       r3.setEnd(pts.firstChild.nextSibling, 0);
    82       is(r3.toString(), "Hello ", "Wrong range!");
    83       r3.surroundContents(document.createElement("div"));
    84       is(r3.toString(), "Hello ", "Wrong range!");
    85     } catch(e) {
    86       ex = e;
    87       is(e.name, "InvalidStateError", "Didn't get InvalidStateError exception!");
    88       is(Object.getPrototypeOf(e), DOMException.prototype, "Didn't get DOMException!");
    89       is(e.code, 11, "Didn't get INVALID_STATE_ERR exception!");
    90     }
    91     ok(ex, "There should have been an exception!");
    93     reinitPartialTextSelection();
    94     ex = null;
    95     try {
    96       var r3 = document.createRange();
    97       r3.setStart(pts.firstChild.nextSibling, 0);
    98       r3.setEnd(pts.lastChild, 6);
    99       is(r3.toString(), "World!", "Wrong range!");
   100       r3.surroundContents(document.createElement("div"));
   101       is(r3.toString(), "World!", "Wrong range!");
   102     } catch(e) {
   103       ex = e;
   104       is(e.name, "InvalidStateError", "Didn't get InvalidStateError exception!");
   105       is(Object.getPrototypeOf(e), DOMException.prototype, "Didn't get DOMException!");
   106       is(e.code, 11, "Didn't get INVALID_STATE_ERR exception!");
   107     }
   108     ok(ex, "There should have been an exception!");
   110     ex = null;
   111     try {
   112       var pes = document.getElementById("partial-element-selection");
   113       var r4 = document.createRange();
   114       r4.setStart(pes.firstChild.firstChild, 6);
   115       r4.setEnd(pes.lastChild.firstChild, 6);
   116       is(r4.toString(), "Hello World!", "Wrong range!");
   117       r4.surroundContents(document.createElement("div"));
   118       is(r4.toString(), "Hello World!", "Wrong range!");
   119     } catch(e) {
   120       ex = e;
   121       is(e.name, "InvalidStateError", "Didn't get InvalidStateError exception!");
   122       is(Object.getPrototypeOf(e), DOMException.prototype, "Didn't get DOMException!");
   123       is(e.code, 11, "Didn't get INVALID_STATE_ERR exception!");
   124     }
   125     ok(ex, "There should have been an exception!");
   126   }
   128   SimpleTest.waitForExplicitFinish();
   129   addLoadEvent(doTest);
   130   addLoadEvent(SimpleTest.finish);
   131 </script>
   132 </pre>
   133 </body>
   134 </html>

mercurial