<!DOCTYPE html>
<meta charset="utf-8">
<title>CSS Basic User Interface Test: non interpolable outline-style animation</title>
<link rel="author" title="Florian Rivoal" href="http://florian.rivoal.net">
<link rel="help" href="https://drafts.csswg.org/css-ui-3/#propdef-outline-style">
<link rel="help" href="https://www.w3.org/TR/web-animations-1/#dom-animatable-animate">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style>
@keyframes outline-anim {
  from {
    outline: solid 1px black;
  }
  to {
    outline: dotted 1px black;
  }
}

#test1 {
  animation: outline-anim 3s 0s paused linear;
  outline: solid 1px black;
}
#test2 {
  animation: outline-anim 3s -1s paused linear;
  outline: solid 1px black;
}
#test3 {
  animation: outline-anim 3s -2s paused linear;
  outline: solid 1px black;
}
#test4 {
  animation: outline-anim 3s 0s paused reverse linear;
  outline: solid 1px black;
}
</style>
<body>
  <div id="test1"></div>
  <div id="test2"></div>
  <div id="test3"></div>
  <div id="test4"></div>
  <div id=log></div>

  <script>
    // outline being a render-only property, its animation can be done off the main thread
    // checking the values after the first paint is safer, hence requestAnimationFrame
    setup({explicit_done:true});
    requestAnimationFrame(function() {
      // synchronous tests being run during the page's first paint
      test(
        function(){
          var tests = document.querySelectorAll("div[id^='test']");
          assert_equals(getComputedStyle(tests[0]).outlineStyle, 'solid');
          assert_equals(getComputedStyle(tests[1]).outlineStyle, 'solid');
          assert_equals(getComputedStyle(tests[2]).outlineStyle, 'dotted');
          assert_equals(getComputedStyle(tests[3]).outlineStyle, 'dotted');
        }, "outline-style is animated as a discrete type"
      );
      done();
    });
</script>
</body>
