<!doctype html>
<meta charset="utf-8">
<title>CSS Test: title attribute in stylesheets not in the document tree is ignored</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">
<link rel="help" href="https://github.com/w3c/webcomponents/issues/535">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="host"></div>
<script>
test(function() {
  host.attachShadow({ mode: "open" }).innerHTML = `
    <style>
      div { width: 100px; height: 100px; }
    </style>
    <style title="Foo">
      div { background: purple }
    </style>
    <style title="Bar">
      div { background: green }
    </style>
    <div></div>
  `;
  assert_equals(host.shadowRoot.styleSheets.length, 3);
  for (let sheet of host.shadowRoot.styleSheets) {
    assert_equals(sheet.title, null, "Sheet outside of the document generates no setter");
    sheet.title = "Foo";
    assert_equals(sheet.title, null, "Mutation doesn't change the sheet title");
  }
  for (let element of host.shadowRoot.querySelectorAll("style")) {
    element.setAttribute("title", "Foo");
    assert_equals(element.sheet.title, null, "Attribute mutation doesn't change the sheet title");
  }
}, "Title attribute in stylesheets not in the document tree is ignored");
</script>
