diff options
Diffstat (limited to 'layout/inspector/tests/test_bug536379.html')
-rw-r--r-- | layout/inspector/tests/test_bug536379.html | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/layout/inspector/tests/test_bug536379.html b/layout/inspector/tests/test_bug536379.html new file mode 100644 index 000000000..8ac012953 --- /dev/null +++ b/layout/inspector/tests/test_bug536379.html @@ -0,0 +1,46 @@ +<!DOCTYPE HTML> +<html> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=536379 +--> +<head> + <title>Test for Bug 536379</title> + <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> + <link rel="stylesheet" type="text/css" href="data:text/css,p { color: green }"> + <link rel="stylesheet" type="text/css" href="data:text/css,p { color: green }"> +</head> +<body> +<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=536379">Mozilla Bug 536379</a> +<p id="display"></p> +<pre id="test"> +<script type="application/javascript"> + +/** Test for Bug 536379 **/ + +const CI = SpecialPowers.Ci; +const CC = SpecialPowers.Cc; + +var domUtils = + CC["@mozilla.org/inspector/dom-utils;1"].getService(CI.inIDOMUtils); +var rules = domUtils.getCSSStyleRules(document.getElementById("display")); +var firstPRule = + rules.GetElementAt(rules.Count() - 2).QueryInterface(CI.nsIDOMCSSStyleRule); +firstPRule.style.removeProperty("color"); +ok(true, "should not crash"); + +var links = document.getElementsByTagName("link"); +is(links.length, 3, "links.length"); +is(SpecialPowers.unwrap(firstPRule.parentStyleSheet), links[1].sheet, "sheet match for first P rule"); +var secondPRule = + rules.GetElementAt(rules.Count() - 1).QueryInterface(CI.nsIDOMCSSStyleRule); +is(SpecialPowers.unwrap(secondPRule.parentStyleSheet), links[2].sheet, "sheet match for second P rule"); +is(links[1].href, links[2].href, "links should have same href"); +isnot(links[1].sheet, links[2].sheet, "links should have different sheets"); +isnot(firstPRule, secondPRule, "rules should be different"); +isnot(firstPRule.cssText, secondPRule.cssText, "text should be different since property was removed from one"); + +</script> +</pre> +</body> +</html> |