gecko-dev/layout/inspector/tests/test_bug522601.xhtml
Brian Grinstead ede8c44ef2 Bug 1544322 - Part 2.1 - Remove the [type] attribute for one-liner <script> tags loading files in /tests/SimpleTest/ in everything except for dom/ r=bzbarsky
This excludes dom/, otherwise the file size is too large for phabricator to handle.

This is an autogenerated commit to handle scripts loading mochitest harness files, in
the simple case where the script src is on the same line as the tag.

This was generated with https://bug1544322.bmoattachments.org/attachment.cgi?id=9058170
using the `--part 2` argument.

Differential Revision: https://phabricator.services.mozilla.com/D27456

--HG--
extra : moz-landing-system : lando
2019-04-16 03:50:44 +00:00

278 lines
13 KiB
HTML

<html xmlns="http://www.w3.org/1999/xhtml">
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=522601
-->
<head>
<title>Test for Bug 522601</title>
<script src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<bindings xmlns="http://www.mozilla.org/xbl">
<binding id="testBinding">
<content><div><children/></div><children includes="span"/></content>
</binding>
</bindings>
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=522601">Mozilla Bug 522601</a>
<p id="display" style="-moz-binding: url(#testBinding)">
<span id="s">This is some text</span>
More text
<b id="b">Even more <i id="i1">Italic</i>text<i id="i2">And more italic</i></b></p>
<div id="content" style="display: none">
</div>
<div id="subdoc">
<iframe id="frame1" src="file_bug522601.html">frame text</iframe>
</div>
<div id="test-shadow">
<h2 id="h2">light child</h2>
</div>
<pre id="test">
<script type="application/javascript">
<![CDATA[
/** Test for Bug 522601 **/
SimpleTest.waitForExplicitFinish();
function testFunc(walker, func, expectedNode, str) {
var oldCurrent = SpecialPowers.unwrap(walker.currentNode);
var newNode = SpecialPowers.unwrap(walker[func]());
is(newNode, expectedNode, "Unexpected node after " + str);
is(SpecialPowers.unwrap(walker.currentNode), newNode ? newNode : oldCurrent,
"Unexpected current node after " + str);
}
addLoadEvent(function() {
var walkerSubDocument =
SpecialPowers.Cc["@mozilla.org/inspector/deep-tree-walker;1"]
.createInstance(SpecialPowers.Ci.inIDeepTreeWalker);
walkerSubDocument.showAnonymousContent = false;
walkerSubDocument.showSubDocuments = true;
walkerSubDocument.init($("frame1"), NodeFilter.SHOW_ALL);
is(SpecialPowers.unwrap(walkerSubDocument.currentNode), $("frame1"), "Unexpected sub-doc root");
testFunc(walkerSubDocument, "firstChild", $("frame1").contentDocument.doctype,
"step to sub documents doctype");
testFunc(walkerSubDocument, "nextSibling", $("frame1").contentDocument.documentElement,
"step to sub documents documentElement");
walkerSubDocument =
SpecialPowers.Cc["@mozilla.org/inspector/deep-tree-walker;1"]
.createInstance(SpecialPowers.Ci.inIDeepTreeWalker);
walkerSubDocument.showAnonymousContent = false;
walkerSubDocument.showSubDocuments = true;
walkerSubDocument.showDocumentsAsNodes = true;
walkerSubDocument.init($("frame1"), NodeFilter.SHOW_ALL);
is(SpecialPowers.unwrap(walkerSubDocument.currentNode), $("frame1"), "Unexpected sub-doc root");
testFunc(walkerSubDocument, "firstChild", $("frame1").contentDocument,
"step to sub document");
testFunc(walkerSubDocument, "firstChild", $("frame1").contentDocument.doctype,
"step to sub documents doctype");
testFunc(walkerSubDocument, "nextSibling", $("frame1").contentDocument.documentElement,
"step to sub documents documentElement");
walkerSubDocument.currentNode = $("frame1").contentDocument;
is(SpecialPowers.unwrap(walkerSubDocument.currentNode), $("frame1").contentDocument,
"setting currentNode to sub document");
testFunc(walkerSubDocument, "nextSibling", null,
"nextSibling for sub document is null");
var walkerFrameChild =
SpecialPowers.Cc["@mozilla.org/inspector/deep-tree-walker;1"]
.createInstance(SpecialPowers.Ci.inIDeepTreeWalker);
walkerFrameChild.showAnonymousContent = false;
walkerFrameChild.showSubDocuments = false;
walkerFrameChild.init($("frame1"), NodeFilter.SHOW_ALL);
is(SpecialPowers.unwrap(walkerFrameChild.currentNode), $("frame1"), "Unexpected sub-doc root");
testFunc(walkerFrameChild, "firstChild", $("frame1").firstChild,
"step to frames child");
var walkerNonAnon =
SpecialPowers.Cc["@mozilla.org/inspector/deep-tree-walker;1"]
.createInstance(SpecialPowers.Ci.inIDeepTreeWalker);
walkerNonAnon.init($("display"), NodeFilter.SHOW_ALL);
walkerNonAnon.showAnonymousContent = false;
is(SpecialPowers.unwrap(walkerNonAnon.currentNode), $("display"), "Unexpected non-anon root");
testFunc(walkerNonAnon, "nextNode", $("s").previousSibling,
"step to some text");
testFunc(walkerNonAnon, "nextNode", $("s"), "step to span");
testFunc(walkerNonAnon, "nextNode", $("s").firstChild, "step to span text");
testFunc(walkerNonAnon, "nextNode", $("s").nextSibling, "step to more text");
testFunc(walkerNonAnon, "nextNode", $("b"), "step to bold");
testFunc(walkerNonAnon, "nextNode", $("b").firstChild, "step to bold text");
testFunc(walkerNonAnon, "nextNode", $("i1"), "step to first italic");
testFunc(walkerNonAnon, "nextNode", $("i1").firstChild,
"step to first italic text");
testFunc(walkerNonAnon, "nextNode", $("i1").nextSibling,
"step to more bold text");
testFunc(walkerNonAnon, "nextNode", $("i2"), "step to second italic");
testFunc(walkerNonAnon, "nextNode", $("i2").firstChild,
"step to second italic text");
testFunc(walkerNonAnon, "nextNode", null, "step past end");
testFunc(walkerNonAnon, "parentNode", $("i2"), "step up to second italic");
testFunc(walkerNonAnon, "parentNode", $("b"), "step up to bold");
testFunc(walkerNonAnon, "nextNode", $("b").firstChild, "step to bold text again");
testFunc(walkerNonAnon, "parentNode", $("b"), "step up to bold again");
testFunc(walkerNonAnon, "parentNode", $("display"), "step up to display");
testFunc(walkerNonAnon, "parentNode", null, "step up past root");
testFunc(walkerNonAnon, "firstChild", $("s").previousSibling,
"step firstChild to display first child");
testFunc(walkerNonAnon, "nextSibling", $("s"),
"step nextSibling to span");
testFunc(walkerNonAnon, "nextSibling", $("s").nextSibling,
"step nextSibling to more text");
testFunc(walkerNonAnon, "nextSibling", $("b"), "step nextSibling to bold");
testFunc(walkerNonAnon, "nextSibling", null, "step nextSibling past end");
testFunc(walkerNonAnon, "previousSibling", $("s").nextSibling,
"step previousSibling to more text");
testFunc(walkerNonAnon, "previousSibling", $("s"),
"step previousSibling to span");
testFunc(walkerNonAnon, "previousSibling", $("s").previousSibling,
"step previousSibling to display first child");
testFunc(walkerNonAnon, "previousSibling", null,
"step previousSibling past end");
// Move the walker over to the end
while (walkerNonAnon.nextNode()) { /* do nothing */ }
is(SpecialPowers.unwrap(walkerNonAnon.currentNode), $("i2").firstChild, "unexpected last node");
testFunc(walkerNonAnon, "previousNode", $("i2"), "step back to second italic");
testFunc(walkerNonAnon, "previousNode", $("i1").nextSibling,
"step back to more bold text");
testFunc(walkerNonAnon, "previousNode", $("i1").firstChild,
"step back to first italic text");
testFunc(walkerNonAnon, "previousNode", $("i1"), "step back to first italic");
testFunc(walkerNonAnon, "previousNode", $("b").firstChild,
"step back to bold text");
testFunc(walkerNonAnon, "previousNode", $("b"), "step back to bold");
testFunc(walkerNonAnon, "previousNode", $("s").nextSibling, "step back to more text");
testFunc(walkerNonAnon, "previousNode", $("s").firstChild, "step back to span text");
testFunc(walkerNonAnon, "previousNode", $("s"), "step back to span");
testFunc(walkerNonAnon, "previousNode", $("s").previousSibling,
"step back to some text");
testFunc(walkerNonAnon, "previousNode", $("display"),
"step back to root");
testFunc(walkerNonAnon, "previousNode", null,
"step back past root");
walkerNonAnon.currentNode = $("s");
is(SpecialPowers.unwrap(walkerNonAnon.currentNode), SpecialPowers.unwrap($("s")),
"Setting currentNode to span");
var anonDiv = SpecialPowers.unwrap(SpecialPowers.wrap(document).getAnonymousNodes($("display")))[0];
try {
walkerNonAnon.currentNode = anonDiv;
ok(false, "Setting current node to a node that is otherwise unreachable," +
" with the current visibility settings should throw");
} catch(e) {
ok(e.toString().indexOf("NS_ERROR_ILLEGAL_VALUE") > -1, "Setting current node to an anon node should throw" +
" NS_ERROR_ILLEGAL_VALUE if showAnonymousContent is set to false");
is(SpecialPowers.unwrap(walkerNonAnon.currentNode), SpecialPowers.unwrap($("s")),
"An unsuccessfull set currentNode should leave behind the old state");
testFunc(walkerNonAnon, "nextSibling", $("s").nextSibling, "nextSibling after set currentNode");
}
var walkerAnon =
SpecialPowers.Cc["@mozilla.org/inspector/deep-tree-walker;1"]
.createInstance(SpecialPowers.Ci.inIDeepTreeWalker);
walkerAnon.showAnonymousContent = true;
walkerAnon.init($("display"), NodeFilter.SHOW_ALL);
is(SpecialPowers.unwrap(walkerAnon.currentNode), $("display"), "Unexpected anon root");
testFunc(walkerAnon, "nextNode", anonDiv,
"step to anonymous div");
testFunc(walkerAnon, "nextNode", $("s").previousSibling,
"step to some text (anon)");
testFunc(walkerAnon, "nextNode", $("s").nextSibling, "step to more text (anon)");
testFunc(walkerAnon, "nextNode", $("b"), "step to bold (anon)");
testFunc(walkerAnon, "nextNode", $("b").firstChild, "step to bold text (anon)");
testFunc(walkerAnon, "nextNode", $("i1"), "step to first italic (anon)");
testFunc(walkerAnon, "nextNode", $("i1").firstChild,
"step to first italic text (anon)");
testFunc(walkerAnon, "nextNode", $("i1").nextSibling,
"step to more bold text (anon)");
testFunc(walkerAnon, "nextNode", $("i2"), "step to second italic (anon)");
testFunc(walkerAnon, "nextNode", $("i2").firstChild,
"step to second italic text (anon)");
testFunc(walkerAnon, "nextNode", $("s"), "step to span (anon)");
testFunc(walkerAnon, "nextNode", $("s").firstChild, "step to span text (anon)");
testFunc(walkerAnon, "nextNode", null, "step past end (anon)");
testFunc(walkerAnon, "parentNode", $("s"), "step up to span (anon)");
testFunc(walkerAnon, "parentNode", $("display"), "step up to display (anon)");
testFunc(walkerAnon, "nextNode", anonDiv, "step to anonymous div again");
testFunc(walkerAnon, "parentNode", $("display"),
"step up to display again (anon)");
testFunc(walkerAnon, "parentNode", null, "step up past root (anon)");
testFunc(walkerAnon, "firstChild", anonDiv,
"step firstChild to display first child (anon)");
testFunc(walkerAnon, "nextSibling", $("s"),
"step nextSibling to span (anon)");
testFunc(walkerAnon, "nextSibling", null, "step nextSibling past end (anon)");
testFunc(walkerAnon, "previousSibling", anonDiv,
"step previousSibling to anonymous div");
testFunc(walkerAnon, "previousSibling", null, "step previousSibling past end (anon)");
// Move the walker over to the end
while (walkerAnon.nextNode()) { /* do nothing */ }
testFunc(walkerAnon, "previousNode", $("s"), "step back to span (anon)");
testFunc(walkerAnon, "previousNode", $("i2").firstChild,
"step back to second italic text (anon)");
testFunc(walkerAnon, "previousNode", $("i2"), "step back to second italic (anon)");
testFunc(walkerAnon, "previousNode", $("i1").nextSibling,
"step back to more bold text (anon)");
testFunc(walkerAnon, "previousNode", $("i1").firstChild,
"step back to first italic text (anon)");
testFunc(walkerAnon, "previousNode", $("i1"), "step back to first italic (anon)");
testFunc(walkerAnon, "previousNode", $("b").firstChild, "step back to bold text (anon)");
testFunc(walkerAnon, "previousNode", $("b"), "step back to bold (anon)");
testFunc(walkerAnon, "previousNode", $("s").nextSibling, "step back to more text (anon)");
testFunc(walkerAnon, "previousNode", $("s").previousSibling,
"step back to some text (anon)");
testFunc(walkerAnon, "previousNode", anonDiv,
"step back to anonymous div");
testFunc(walkerAnon, "previousNode", $("display"), "step back to root (anon)");
testFunc(walkerAnon, "previousNode", null, "step back past root (anon)");
//XXXsmaug update this test for Shadow DOM v1! bug 1421539
/*if (Element.prototype.createShadowRoot) {
var shadowdiv = document.querySelector('#test-shadow');
var shadowRoot = shadowdiv.createShadowRoot();
var h = document.createElement("header");
var c = document.createElement("content");
c.setAttribute("select", "h2");
h.appendChild(c);
shadowRoot.appendChild(h);
var walkerShadow =
SpecialPowers.Cc["@mozilla.org/inspector/deep-tree-walker;1"]
.createInstance(SpecialPowers.Ci.inIDeepTreeWalker);
walkerShadow.showAnonymousContent = true;
walkerShadow.init($("test-shadow"), NodeFilter.SHOW_ALL);
var c1 = walkerShadow.nextNode();
var c2 = walkerShadow.nextNode();
var c3 = walkerShadow.nextNode();
walkerShadow.currentNode = c1;
is(SpecialPowers.unwrap(walkerShadow.currentNode), h,
"Unexpected shadow element 1");
walkerShadow.currentNode = c2;
is(SpecialPowers.unwrap(walkerShadow.currentNode), $("h2"),
"Unexpected shadow element 2");
walkerShadow.currentNode = c3;
is(SpecialPowers.unwrap(walkerShadow.currentNode), $("h2").firstChild,
"Unexpected shadow element 3");
}*/
SimpleTest.finish();
});
]]>
</script>
</pre>
</body>
</html>