mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-08 16:58:38 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
243
layout/style/test/test_group_insertRule.html
Normal file
243
layout/style/test/test_group_insertRule.html
Normal file
|
|
@ -0,0 +1,243 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>CSS Variables Allowed Syntax</title>
|
||||
<link rel="author" title="L. David Baron" href="https://dbaron.org/">
|
||||
<link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-conditional/#the-cssgroupingrule-interface">
|
||||
<meta name="assert" content="requirements in definition of insertRule">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<style id="style">
|
||||
@media print {}
|
||||
</style>
|
||||
<script id="metadata_cache">/*
|
||||
{
|
||||
"rule_type": {},
|
||||
"rule_length": {},
|
||||
"insert_import_throws": {},
|
||||
"insert_index_throws1": {},
|
||||
"insert_index_throws2": {},
|
||||
"insert_media_succeed": {},
|
||||
"insert_style_succeed": {},
|
||||
"insert_bad_media_throw": {},
|
||||
"insert_empty_throw": {},
|
||||
"insert_garbage_after_media_throw": {},
|
||||
"insert_garbage_after_style_throw": {},
|
||||
"insert_two_media_throw": {},
|
||||
"insert_style_media_throw": {},
|
||||
"insert_media_style_throw": {},
|
||||
"insert_two_style_throw": {},
|
||||
"insert_retval": {}
|
||||
}
|
||||
*/</script>
|
||||
</head>
|
||||
<body onload="run()">
|
||||
<div id=log></div>
|
||||
<div id="test"></div>
|
||||
<script>
|
||||
|
||||
var sheet = document.getElementById("style").sheet;
|
||||
|
||||
var grouping_rule = sheet.cssRules[0];
|
||||
|
||||
test(function() {
|
||||
assert_equals(grouping_rule.type, CSSRule.MEDIA_RULE,
|
||||
"Rule type of @media rule");
|
||||
},
|
||||
"rule_type");
|
||||
|
||||
test(function() {
|
||||
assert_equals(grouping_rule.cssRules.length, 0,
|
||||
"Starting cssRules.length of @media rule");
|
||||
},
|
||||
"rule_length");
|
||||
|
||||
test(function() {
|
||||
assert_throws("HIERARCHY_REQUEST_ERR",
|
||||
function() {
|
||||
grouping_rule.insertRule("@import url(foo.css);", 0);
|
||||
},
|
||||
"inserting a disallowed rule should throw HIERARCHY_REQUEST_ERR");
|
||||
},
|
||||
"insert_import_throws");
|
||||
|
||||
test(function() {
|
||||
assert_throws("INDEX_SIZE_ERR",
|
||||
function() {
|
||||
grouping_rule.insertRule("p { color: green }", 1);
|
||||
},
|
||||
"inserting at a bad index throws INDEX_SIZE_ERR");
|
||||
},
|
||||
"insert_index_throws1");
|
||||
test(function() {
|
||||
grouping_rule.insertRule("p { color: green }", 0);
|
||||
assert_equals(grouping_rule.cssRules.length, 1,
|
||||
"Modified cssRules.length of @media rule");
|
||||
grouping_rule.insertRule("p { color: blue }", 1);
|
||||
assert_equals(grouping_rule.cssRules.length, 2,
|
||||
"Modified cssRules.length of @media rule");
|
||||
grouping_rule.insertRule("p { color: aqua }", 1);
|
||||
assert_equals(grouping_rule.cssRules.length, 3,
|
||||
"Modified cssRules.length of @media rule");
|
||||
assert_throws("INDEX_SIZE_ERR",
|
||||
function() {
|
||||
grouping_rule.insertRule("p { color: green }", 4);
|
||||
},
|
||||
"inserting at a bad index throws INDEX_SIZE_ERR");
|
||||
assert_equals(grouping_rule.cssRules.length, 3,
|
||||
"Modified cssRules.length of @media rule");
|
||||
},
|
||||
"insert_index_throws2");
|
||||
|
||||
test(function() {
|
||||
while (grouping_rule.cssRules.length > 0) {
|
||||
grouping_rule.deleteRule(0);
|
||||
}
|
||||
grouping_rule.insertRule("@media print {}", 0);
|
||||
assert_equals(grouping_rule.cssRules.length, 1,
|
||||
"Modified cssRules.length of @media rule");
|
||||
assert_equals(grouping_rule.cssRules[0].type, CSSRule.MEDIA_RULE,
|
||||
"inserting syntactically correct media rule succeeds");
|
||||
},
|
||||
"insert_media_succeed");
|
||||
test(function() {
|
||||
while (grouping_rule.cssRules.length > 0) {
|
||||
grouping_rule.deleteRule(0);
|
||||
}
|
||||
grouping_rule.insertRule("p { color: yellow }", 0);
|
||||
assert_equals(grouping_rule.cssRules.length, 1,
|
||||
"Modified cssRules.length of @media rule");
|
||||
assert_equals(grouping_rule.cssRules[0].type, CSSRule.STYLE_RULE,
|
||||
"inserting syntactically correct style rule succeeds");
|
||||
},
|
||||
"insert_style_succeed");
|
||||
test(function() {
|
||||
while (grouping_rule.cssRules.length > 0) {
|
||||
grouping_rule.deleteRule(0);
|
||||
}
|
||||
assert_throws("SYNTAX_ERR",
|
||||
function() {
|
||||
grouping_rule.insertRule("@media bad syntax;", 0);
|
||||
},
|
||||
"inserting syntactically invalid rule throws syntax error");
|
||||
assert_equals(grouping_rule.cssRules.length, 0,
|
||||
"Modified cssRules.length of @media rule");
|
||||
},
|
||||
"insert_bad_media_throw");
|
||||
test(function() {
|
||||
while (grouping_rule.cssRules.length > 0) {
|
||||
grouping_rule.deleteRule(0);
|
||||
}
|
||||
assert_throws("SYNTAX_ERR",
|
||||
function() {
|
||||
grouping_rule.insertRule("", 0);
|
||||
},
|
||||
"inserting empty rule throws syntax error");
|
||||
assert_equals(grouping_rule.cssRules.length, 0,
|
||||
"Modified cssRules.length of @media rule");
|
||||
},
|
||||
"insert_empty_throw");
|
||||
test(function() {
|
||||
while (grouping_rule.cssRules.length > 0) {
|
||||
grouping_rule.deleteRule(0);
|
||||
}
|
||||
assert_throws("SYNTAX_ERR",
|
||||
function() {
|
||||
grouping_rule.insertRule("@media print {} foo", 0);
|
||||
},
|
||||
"inserting rule with garbage afterwards throws syntax error");
|
||||
assert_equals(grouping_rule.cssRules.length, 0,
|
||||
"Modified cssRules.length of @media rule");
|
||||
},
|
||||
"insert_garbage_after_media_throw");
|
||||
test(function() {
|
||||
while (grouping_rule.cssRules.length > 0) {
|
||||
grouping_rule.deleteRule(0);
|
||||
}
|
||||
assert_throws("SYNTAX_ERR",
|
||||
function() {
|
||||
grouping_rule.insertRule("p { color: yellow } foo", 0);
|
||||
},
|
||||
"inserting rule with garbage afterwards throws syntax error");
|
||||
assert_equals(grouping_rule.cssRules.length, 0,
|
||||
"Modified cssRules.length of @media rule");
|
||||
},
|
||||
"insert_garbage_after_style_throw");
|
||||
test(function() {
|
||||
while (grouping_rule.cssRules.length > 0) {
|
||||
grouping_rule.deleteRule(0);
|
||||
}
|
||||
assert_throws("SYNTAX_ERR",
|
||||
function() {
|
||||
grouping_rule.insertRule("@media print {} @media print {}", 0);
|
||||
},
|
||||
"inserting multiple rules throws syntax error");
|
||||
assert_equals(grouping_rule.cssRules.length, 0,
|
||||
"Modified cssRules.length of @media rule");
|
||||
},
|
||||
"insert_two_media_throw");
|
||||
test(function() {
|
||||
while (grouping_rule.cssRules.length > 0) {
|
||||
grouping_rule.deleteRule(0);
|
||||
}
|
||||
assert_throws("SYNTAX_ERR",
|
||||
function() {
|
||||
grouping_rule.insertRule("p { color: yellow } @media print {}", 0);
|
||||
},
|
||||
"inserting multiple rules throws syntax error");
|
||||
assert_equals(grouping_rule.cssRules.length, 0,
|
||||
"Modified cssRules.length of @media rule");
|
||||
},
|
||||
"insert_style_media_throw");
|
||||
test(function() {
|
||||
while (grouping_rule.cssRules.length > 0) {
|
||||
grouping_rule.deleteRule(0);
|
||||
}
|
||||
assert_throws("SYNTAX_ERR",
|
||||
function() {
|
||||
grouping_rule.insertRule("@media print {} p { color: yellow }", 0);
|
||||
},
|
||||
"inserting multiple rules throws syntax error");
|
||||
assert_equals(grouping_rule.cssRules.length, 0,
|
||||
"Modified cssRules.length of @media rule");
|
||||
},
|
||||
"insert_media_style_throw");
|
||||
test(function() {
|
||||
while (grouping_rule.cssRules.length > 0) {
|
||||
grouping_rule.deleteRule(0);
|
||||
}
|
||||
assert_throws("SYNTAX_ERR",
|
||||
function() {
|
||||
grouping_rule.insertRule("p { color: yellow } p { color: yellow }", 0);
|
||||
},
|
||||
"inserting multiple rules throws syntax error");
|
||||
assert_equals(grouping_rule.cssRules.length, 0,
|
||||
"Modified cssRules.length of @media rule");
|
||||
},
|
||||
"insert_two_style_throw");
|
||||
|
||||
test(function() {
|
||||
while (grouping_rule.cssRules.length > 0) {
|
||||
grouping_rule.deleteRule(0);
|
||||
}
|
||||
var res = grouping_rule.insertRule("p { color: green }", 0);
|
||||
assert_equals(res, 0, "return value should be index");
|
||||
assert_equals(grouping_rule.cssRules.length, 1,
|
||||
"Modified cssRules.length of @media rule");
|
||||
res = grouping_rule.insertRule("p { color: green }", 0);
|
||||
assert_equals(res, 0, "return value should be index");
|
||||
assert_equals(grouping_rule.cssRules.length, 2,
|
||||
"Modified cssRules.length of @media rule");
|
||||
res = grouping_rule.insertRule("p { color: green }", 2);
|
||||
assert_equals(res, 2, "return value should be index");
|
||||
assert_equals(grouping_rule.cssRules.length, 3,
|
||||
"Modified cssRules.length of @media rule");
|
||||
},
|
||||
"insert_retval");
|
||||
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue