wpt / css / selectors / invalidation / dir-pseudo-class-in-has.html

Status: FAIL | Duration: 13ms | Subtests: 0/1 | Open test on wpt.live | Open ref on wpt.live | wpt.fyi

/css/selectors/invalidation/dir-pseudo-class-in-has.html

<!DOCTYPE html>
<html class="reftest-wait">
<head>
    <link rel="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org"/>
    <link rel="help" href="https://drafts.csswg.org/selectors/#relational"/>
    <link rel="help" href="https://drafts.csswg.org/selectors/#dir-pseudo"/>
    <link rel="match" href="../../reference/ref-filled-green-100px-square.xht"/>
</head>
<body>
    <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
    <section><div id="ltr1" class="ltr"></div></section>
    <section id="ltr2" dir="rtl"><div class="ltr"><span></span></div></section>
    <section dir="ltr"><div class="ltr"><span></span></div></section>
    <section><div id="rtl1" class="rtl"><span></span></div></section>
    <section id="rtl2"><div class="rtl"><span></span></div></section>
    <style>
        div, section { width: 100px; height: 20px; }
        section { background: red; }
        .ltr:has(*:dir(ltr)) { background: green; }
        .ltr:has(*:dir(rtl)) { background: red; }
        .rtl:has(*:dir(rtl)) { background: green; }
        .rtl:has(*:dir(ltr)) { background: red; }
    </style>
    <script>
        requestAnimationFrame(() => {
            setTimeout(() => {
                ltr1.appendChild(document.createElement('span'));
                ltr2.dir = 'ltr';
                rtl1.dir = 'rtl';
                rtl2.dir = 'rtl';
                document.documentElement.className = '';
            }, 0);
        });
    </script>
</body>
</html>

/css/reference/ref-filled-green-100px-square.xht

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title>CSS Reftest Reference</title>
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
  <style type="text/css"><![CDATA[
  div
  {
  background-color: green;
  height: 100px;
  width: 100px;
  }
  ]]></style>
 </head>
 <body>
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
  <div></div>
 </body>
</html>