summaryrefslogtreecommitdiffstats
path: root/layout/inspector/tests/test_bug462789.html
diff options
context:
space:
mode:
Diffstat (limited to 'layout/inspector/tests/test_bug462789.html')
-rw-r--r--layout/inspector/tests/test_bug462789.html94
1 files changed, 94 insertions, 0 deletions
diff --git a/layout/inspector/tests/test_bug462789.html b/layout/inspector/tests/test_bug462789.html
new file mode 100644
index 000000000..a027b85a6
--- /dev/null
+++ b/layout/inspector/tests/test_bug462789.html
@@ -0,0 +1,94 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=462789
+-->
+<head>
+ <title>Test for Bug 462789</title>
+ <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+</head>
+<body>
+<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=462789">Mozilla Bug 462789</a>
+<p id="display"><iframe id="bug462789_iframe" src="data:text/html,<html><head><style>*{color:black;}</style></head><body>xxx" style="display: none;"></iframe></p>
+<div id="content" style="display: none">
+
+</div>
+<pre id="test">
+<script type="application/javascript">
+
+/** Test for Bug 462789 **/
+
+function do_test() {
+ const ERROR_INVALID_ARG = 0x80070057;
+ const DOCUMENT_NODE_TYPE = 9;
+
+ var utils = SpecialPowers.Cc["@mozilla.org/inspector/dom-utils;1"]
+ .getService(SpecialPowers.Ci.inIDOMUtils);
+
+ var iframe = document.getElementById("bug462789_iframe");
+ var docElement = iframe.contentDocument.documentElement;
+ var body = docElement.children[1];
+ var rule = iframe.contentDocument.styleSheets[0].cssRules[0];
+ var text = body.firstChild;
+
+ try {
+ var res = utils.getCSSStyleRules(docElement);
+ is(res, null, "getCSSStyleRules");
+ res = utils.getCSSStyleRules(body);
+ is(res, null, "getCSSStyleRules");
+ }
+ catch(e) { ok(false, "got an unexpected exception:" + e); }
+
+ try {
+ var res = utils.getRuleLine(rule);
+ is(res, 1, "getRuleLine");
+ }
+ catch(e) { ok(false, "got an unexpected exception:" + e); }
+
+ try {
+ var res = utils.isIgnorableWhitespace(text);
+ is(res, false, "isIgnorableWhitespace");
+ }
+ catch(e) { ok(false, "got an unexpected exception:" + e); }
+
+ try {
+ var res = utils.getParentForNode(docElement, true);
+ is(res.nodeType, DOCUMENT_NODE_TYPE, "getParentForNode(docElement, true)");
+ res = utils.getParentForNode(text, true);
+ is(res.tagName, "BODY", "getParentForNode(text, true)");
+ }
+ catch(e) { ok(false, "got an unexpected exception:" + e); }
+
+ try {
+ var res = utils.getBindingURLs(docElement);
+ ok(SpecialPowers.call_Instanceof(res, SpecialPowers.Ci["nsIArray"]), "getBindingURLs result type");
+ is(res.length, 0, "getBindingURLs array length");
+ }
+ catch(e) { ok(false, "got an unexpected exception:" + e); }
+
+ try {
+ utils.getContentState(docElement);
+ ok(true, "Should not throw");
+ }
+ catch(e) { ok(false, "Got an exception: " + e); }
+
+ try {
+ utils.setContentState(docElement, false);
+ ok(false, "expected an exception");
+ }
+ catch(e) {
+ e = SpecialPowers.wrap(e);
+ is(e.result, ERROR_INVALID_ARG, "got the expected exception");
+ }
+
+ SimpleTest.finish();
+}
+
+SimpleTest.waitForExplicitFinish();
+addLoadEvent(do_test);
+
+</script>
+</pre>
+</body>
+</html>