<!DOCTYPE html>
<html>
<head>
  <title>CSS Selectors Invalidation: insert adjacent sibling of parent</title>
  <link rel="help" href="https://drafts.csswg.org/selectors-4/#adjacent-sibling-combinators">
  <meta name="assert" content="This tests that the + next-sibling selector is effective">
  <script src="/resources/testharness.js"></script>
  <script src="/resources/testharnessreport.js"></script>
  <style>
    .d { background-color: blue; }

    .a + .c > .d { background-color: green; }
  </style>
</head>
<body>
  <div>
    <div id="first" class="a"></div>
    <div class="c">
      <div id="target" class="d"></div>
    </div>
  </div>
  <script>
    'use strict';
    const green = 'rgb(0, 128, 0)';
    const blue = 'rgb(0, 0, 255)';

    test(function() {
      const first = document.getElementById('first');
      const target = document.getElementById('target');
      const parent = first.parentElement;
      assert_equals(getComputedStyle(target).backgroundColor, green, "initial color");

      parent.removeChild(first);
      assert_equals(getComputedStyle(target).backgroundColor, blue, "color after removal");

      parent.insertBefore(first, parent.firstChild);
      assert_equals(getComputedStyle(target).backgroundColor, green, "color after insert")
  }, "Remove/Insert adjacent sibling of parent");
  </script>
</body>
</html>
