link-element-stylesheet-title.html (1769B)
1 <!doctype html> 2 <meta charset="utf-8"> 3 <title>Link Element StyleSheet's title attribute</title> 4 <link rel="author" title="Takuya Kurimoto" href="mailto:takuya004869@gmail.com"> 5 <link rel="help" href="https://drafts.csswg.org/cssom/#dom-stylesheet-title"> 6 <script src="/resources/testharness.js"></script> 7 <script src="/resources/testharnessreport.js"></script> 8 9 <link id="set_title" rel="stylesheet" href="null.css" type="text/css"> 10 <link id="set_title" rel="stylesheet" title="" href="empty.css" type="text/css"> 11 <link id="set_title" rel="stylesheet" title="title" href="set.css" type="text/css"> 12 <link id="change_title_to_empty_string" rel="stylesheet" title="title" href="set.css" type="text/css"> 13 14 <script> 15 test(function() { 16 const sheetCount = 3; 17 const sheets = Array.from(document.styleSheets).filter(sheet => sheet.ownerNode.id == 'set_title'); 18 const linkStylesheets = Array.from(document.querySelectorAll('#set_title')); 19 assert_equals(sheets.length, sheetCount); 20 assert_equals(linkStylesheets.length, sheetCount); 21 for (let i = 0; i < sheets.length; ++i) { 22 let titleAttr = linkStylesheets[i].getAttribute("title"); 23 if (titleAttr === null || titleAttr === "") 24 assert_equals(sheets[i].title, null, "Empty title returns null"); 25 else 26 assert_equals(sheets[i].title, titleAttr, "Selected title is properly reflected"); 27 } 28 }, "StyleSheet.title"); 29 30 test(() => { 31 const linkStylesheet = document.getElementById('change_title_to_empty_string'); 32 linkStylesheet.setAttribute("title", "") 33 const sheet = Array.from(document.styleSheets).find(sheet => sheet.ownerNode.id == 'change_title_to_empty_string'); 34 assert_equals(sheet.title, null); 35 }, "Executing setAttribute('title', '') results in the title being set to null"); 36 37 </script>