diff options
Diffstat (limited to 'layout/inspector/tests/test_bug462789.html')
-rw-r--r-- | layout/inspector/tests/test_bug462789.html | 94 |
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> |