| <!doctype html> | |
| <meta charset="utf-8"> | |
| <title>CSS Test: StyleSheet's title attribute</title> | |
| <link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io"> | |
| <link rel="help" href="https://drafts.csswg.org/cssom/#preferred-css-style-sheet-set-name"> | |
| <link rel="help" href="https://html.spec.whatwg.org/multipage/#attr-style-title"> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <style></style> | |
| <style title=""></style> | |
| <style title="Preferred"> | |
| p { color: green; } | |
| </style> | |
| <style title="Not preferred"> | |
| p { color: red; } | |
| </style> | |
| <p id="test-element">Should be green</p> | |
| <script> | |
| test(function() { | |
| assert_equals( | |
| getComputedStyle(document.getElementById("test-element")).color, | |
| "rgb(0, 128, 0)", | |
| "Preferred style should apply" | |
| ); | |
| }, "Preferred style sheet name"); | |
| test(function() { | |
| let sheets = document.styleSheets; | |
| let styleElements = Array.from(document.querySelectorAll("style")); | |
| assert_equals(sheets.length, styleElements.length); | |
| for (let i = 0; i < sheets.length; ++i) { | |
| let titleAttr = styleElements[i].getAttribute("title"); | |
| if (titleAttr === null || titleAttr === "") | |
| assert_equals(sheets[i].title, null, "Empty title returns null"); | |
| else | |
| assert_equals(sheets[i].title, titleAttr, "Selected title is properly reflected"); | |
| } | |
| }, "StyleSheet.title"); | |
| </script> |