summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/cssom/cssimportrule.html
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
commit43a97878ce14b72f0981164f87f2e35e14151312 (patch)
tree620249daf56c0258faa40cbdcf9cfba06de2a846 /testing/web-platform/tests/css/cssom/cssimportrule.html
parentInitial commit. (diff)
downloadfirefox-43a97878ce14b72f0981164f87f2e35e14151312.tar.xz
firefox-43a97878ce14b72f0981164f87f2e35e14151312.zip
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/css/cssom/cssimportrule.html')
-rw-r--r--testing/web-platform/tests/css/cssom/cssimportrule.html108
1 files changed, 108 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/cssom/cssimportrule.html b/testing/web-platform/tests/css/cssom/cssimportrule.html
new file mode 100644
index 0000000000..89269f1c24
--- /dev/null
+++ b/testing/web-platform/tests/css/cssom/cssimportrule.html
@@ -0,0 +1,108 @@
+<!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 = "margin-top: 10px;"
+ assert_equals(ruleWithPage.style.cssText, "margin-top: 10px;");
+ }, "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>