chromium/third_party/blink/web_tests/external/wpt/css/css-pseudo/highlight-cascade/cascade-highlight-001.html

<!DOCTYPE html>

  <meta charset="UTF-8">

  <title>CSS Pseudo-Elements Test: higher specificity of selectors (Example 11)</title>

  <link rel="author" title="GĂ©rard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
  <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-cascade">
  <link rel="match" href="cascade-highlight-001-ref.html">

  <!--
  Example 11 is
  https://www.w3.org/TR/css-pseudo-4/#example-c35bf49a
  -->

  <meta name="assert" content="This test is an adaptation (or modified version) of Example 11 (#example-c35bf49a). The 'div &gt; span::selection' selector has an higher specificity than the 'span::selection' selector.">

  <link rel="stylesheet" href="../support/highlights.css">
  <style>
  div
    {
      font-size: 300%;
    }

  div::selection
    {
      background-color: green;
      color: yellow;
    }

  div > span::selection
  /*
  count the number of element names and pseudo-elements in the selector (= d)
  a=0 b=0 c=0 d=3 -> specificity = 0,0,0,3
  */
    {
      background-color: green;
    }

  span::selection
  /*
  count the number of element names and pseudo-elements in the selector (= d)
  a=0 b=0 c=0 d=2 -> specificity = 0,0,0,2
  */
    {
      background-color: red;
      color: yellow;
    }
  </style>

  <script>
  function startTest()
  {
  var targetRange = document.createRange();
  /* We first create an empty range */
  targetRange.selectNodeContents(document.getElementById("test"));
  /* Then we set the range boundaries to the children of div#test */
  window.getSelection().addRange(targetRange);
  /* Finally, we now select such range of content */
  }
  </script>

  <body onload="startTest();">

  <p>Test passes if background color of "Text sample" is green and <strong>not red</strong>.

  <div id="test" class="highlight_reftest">Text <span>sample</span></div>