diff options
Diffstat (limited to 'testing/web-platform/tests/css/css-page/parsing/margin-rules-001.html')
-rw-r--r-- | testing/web-platform/tests/css/css-page/parsing/margin-rules-001.html | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-page/parsing/margin-rules-001.html b/testing/web-platform/tests/css/css-page/parsing/margin-rules-001.html new file mode 100644 index 0000000000..c4270fe606 --- /dev/null +++ b/testing/web-platform/tests/css/css-page/parsing/margin-rules-001.html @@ -0,0 +1,51 @@ +<!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> |