<!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>NEGATED :hover pseudo-class</title>
  <style type="text/css"><![CDATA[div.stub * { color: lime; text-decoration: none; }
div.stub > * > *:not(:hover) { color: black }
]]></style>
  <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/>
  <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/>
  <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found -->
  <script src="/resources/testharness.js"></script>
  <script src="/resources/testharnessreport.js"></script>
  <script src="/resources/testdriver.js"></script>
  <script src="/resources/testdriver-vendor.js"></script>
  <script src="/resources/testdriver-actions.js"></script>
  <script src="common.js"></script>
 </head>
 <body>
 <div class="stub">
  <p> <span id="t1">The color of this text should be green when the pointing device hovers over it.</span> </p>
  <p> <a id="t2" href="http://dummy.example.org/dummy">The color of this text should be green when the pointing device hovers over it.</a> </p>
 </div>
 <script><![CDATA[
promise_test(async () => {
  const t1 = document.getElementById('t1');
  assert_color(t1, 'rgb(0, 0, 0)', 'Initially black');

  await new test_driver.Actions().pointerMove(0, 0, {origin: t1}).send();
  assert_color(t1, LIME, 'Green on hover');

  // Move away to reset state for next test
  await new test_driver.Actions().pointerMove(0, 0).send();
}, 'Negated :hover on span');

promise_test(async () => {
  const t2 = document.getElementById('t2');
  assert_color(t2, 'rgb(0, 0, 0)', 'Initially black');

  await new test_driver.Actions().pointerMove(0, 0, {origin: t2}).send();
  assert_color(t2, LIME, 'Green on hover');
}, 'Negated :hover on link');
]]></script>
</body>
</html>
