gecko-dev/testing/web-platform/tests/css/cssom/cssimportrule.html
Chris Nardi b73182a3b9 Bug 1442493 [wpt PR 9739] - Upstream some CSSOM tests, a=testonly
Automatic update from web-platform-testsUpstream some CSSOM tests

Tests that were duplicates of those already existing in
web-platform-tests were deleted. Other tests were either moved to the
CSSOM directory in WPT, or appended to already existing tests. The
README was also deleted, as it is no longer accurate.

Change-Id: I0acb41c6102a572a1fc2401630732a8ff1c5263d
Reviewed-on: https://chromium-review.googlesource.com/945135
Reviewed-by: Robert Ma <robertma@chromium.org>
Reviewed-by: Darren Shen <shend@chromium.org>
Commit-Queue: Chris Nardi <cnardi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#541716}

wpt-commits: 8ef3fed7cdd966fbbd831215cedc0ee4b8ea8d6e
wpt-pr: 9739
wpt-commits: 8ef3fed7cdd966fbbd831215cedc0ee4b8ea8d6e
wpt-pr: 9739
2018-03-31 22:32:51 +01:00

108 lines
4.6 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<title>CSSOM CSSRule CSSImportRule interface</title>
<link rel="author" title="Letitia Lew" href="mailto:lew.letitia@gmail.com">
<link rel="help" href="http://www.w3.org/TR/cssom-1/#css-rules">
<link rel="help" href="http://www.w3.org/TR/cssom-1/#the-cssrule-interface">
<link rel="help" href="http://www.w3.org/TR/cssom-1/#the-cssimportrule-interface">
<meta name="flags" content="dom">
<meta name="assert" content="All properties for this CSSImportRule instance of CSSRule are initialized correctly">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style id="styleElement" type="text/css">
@import url("support/a-green.css");
@import url("support/a-green.css") screen;
@import url("support/a-green.css") all;
@page { background-color: red; }
</style>
</head>
<body>
<div id="log"></div>
<script type="text/javascript">
var styleSheet, ruleList, rule, ruleWithMedia, ruleWithMediaAll;
setup(function() {
styleSheet = document.getElementById("styleElement").sheet;
ruleList = styleSheet.cssRules;
rule = ruleList[0];
ruleWithMedia = ruleList[1];
ruleWithMediaAll = ruleList[2];
});
test(function() {
assert_true(rule instanceof CSSRule);
assert_true(rule instanceof CSSImportRule);
assert_true(ruleWithMedia instanceof CSSRule);
assert_true(ruleWithMedia instanceof CSSImportRule);
}, "CSSRule and CSSImportRule types");
test(function() {
assert_equals(rule.STYLE_RULE, 1);
assert_equals(rule.IMPORT_RULE, 3);
assert_equals(rule.MEDIA_RULE, 4);
assert_equals(rule.FONT_FACE_RULE, 5);
assert_equals(rule.PAGE_RULE, 6);
assert_equals(rule.NAMESPACE_RULE, 10);
assert_idl_attribute(rule, "type");
assert_equals(typeof rule.type, "number");
}, "Type of CSSRule#type and constant values");
test(function() {
assert_true(rule instanceof CSSRule);
assert_idl_attribute(rule, "cssText");
assert_idl_attribute(rule, "parentRule");
assert_idl_attribute(rule, "parentStyleSheet");
assert_readonly(rule, "type");
assert_readonly(rule, "parentRule");
assert_readonly(rule, "parentStyleSheet");
}, "Existence and writability of CSSRule attributes");
test(function() {
assert_equals(rule.type, rule.IMPORT_RULE);
assert_equals(typeof rule.cssText, "string");
assert_equals(rule.cssText, '@import url("support/a-green.css");');
assert_equals(ruleWithMedia.cssText, '@import url("support/a-green.css") screen;');
assert_equals(ruleWithMediaAll.cssText, '@import url("support/a-green.css") all;');
assert_equals(rule.parentRule, null);
assert_true(rule.parentStyleSheet instanceof CSSStyleSheet);
}, "Values of CSSRule attributes");
test(function() {
assert_idl_attribute(rule, "href");
assert_idl_attribute(rule, "media");
assert_idl_attribute(rule, "styleSheet");
assert_readonly(rule, "href");
assert_readonly(rule, "media");
assert_readonly(rule, "styleSheet");
}, "Existence and writability of CSSImportRule attributes");
test(function() {
assert_equals(typeof rule.href, "string");
assert_true(rule.media instanceof MediaList);
assert_true(rule.styleSheet instanceof CSSStyleSheet);
assert_true(ruleWithMedia.media.length > 0);
assert_equals(ruleWithMedia.media.mediaText, "screen");
}, "Values of CSSImportRule attributes");
test(function() {
ruleWithMedia.media = "print";
assert_equals(ruleWithMedia.media.mediaText, "print");
}, "CSSImportRule : MediaList mediaText attribute should be updated due to [PutForwards]");
test(function() {
var ruleWithPage = ruleList[3];
ruleWithPage.style = "background-color: green;"
assert_equals(ruleWithPage.style.cssText, "background-color: green;");
}, "CSSStyleDeclaration cssText attribute should be updated due to [PutForwards]");
test(function() {
styleSheet.media = "screen";
assert_equals(styleSheet.media.mediaText, "screen");
}, "StyleSheet : MediaList mediaText attribute should be updated due to [PutForwards]");
</script>
</body>
</html>