51 lines
1.5 KiB
HTML
51 lines
1.5 KiB
HTML
<!DOCTYPE html>
|
|
<link rel="author" title="Mozilla" href="https://mozilla.org">
|
|
<link rel="help" href="https://drafts.csswg.org/css-page-3/#margin-at-rules">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/css/support/parsing-testcommon.js"></script>
|
|
<style>
|
|
#test{ }
|
|
</style>
|
|
<script>
|
|
'use strict';
|
|
test(t => {
|
|
const ruleTypes = [
|
|
"@top-left-corner",
|
|
"@top-left",
|
|
"@top-center",
|
|
"@top-right",
|
|
"@top-right-corner",
|
|
"@bottom-left-corner",
|
|
"@bottom-left",
|
|
"@bottom-center",
|
|
"@bottom-right",
|
|
"@bottom-right-corner",
|
|
"@left-top",
|
|
"@left-middle",
|
|
"@left-bottom",
|
|
"@right-top",
|
|
"@right-middle",
|
|
"@right-bottom"
|
|
];
|
|
// Test that margin-rules are not valid at a top-level.
|
|
for(let t in ruleTypes){
|
|
test_invalid_rule(ruleTypes[t] + "{ }");
|
|
}
|
|
// Test that margin-rules are not valid in style rules.
|
|
assert_equals(document.styleSheets.length, 1);
|
|
let styleSheet = document.styleSheets[0];
|
|
assert_equals(styleSheet.rules.length, 1);
|
|
let rule = styleSheet.rules[0];
|
|
for(let t in ruleTypes){
|
|
assert_throws_dom(
|
|
DOMException.SYNTAX_ERR,
|
|
() => rule.insertRule(ruleTypes[t] + "{ }"),
|
|
"Should not be able to add " + ruleTypes[t] + " to a style rule");
|
|
}
|
|
// Test that margin-rules are valid inside page-rules.
|
|
for(let t in ruleTypes){
|
|
test_valid_rule("@page { " + ruleTypes[t] + " { } }");
|
|
}
|
|
}, "margin-rules-001");
|
|
</script>
|