<!DOCTYPE html>
<meta charset="UTF-8">
<title>CSS Writing Modes Test: body vertical-lr propagated to viewport - scroll direction</title>
<link rel="author" title="Rune Lillesveen" href="mailto:rune@opera.com">
<link rel="help" href="https://www.w3.org/TR/css-writing-modes-3/#principal-flow">
<meta name="assert" content="Test that propagating writing-mode from body to viewport affects scroll direction">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style>
  html { writing-mode: vertical-rl; }
  body { writing-mode: vertical-lr; width: 10000px; }

  .result-wm, .result-wm > body {
    writing-mode: horizontal-tb;
    width: auto;
  }
</style>
<body>
<script>
  test(function() {
    assert_equals(document.scrollingElement.scrollLeft, 0, "scrollLeft should be 0.");
  }, "Check initial scroll position of viewport.");

  test(function() {
    document.scrollingElement.scrollLeft = -1000;
    assert_equals(document.scrollingElement.scrollLeft, 0, "scrollLeft should be 0.");
  }, "Scroll to scrollLeft = -1000 should not be possible.");

  test(function() {
    document.scrollingElement.scrollLeft = 1000;
    assert_equals(document.scrollingElement.scrollLeft, 1000, "scrollLeft should be 1000.");
  }, "Scroll to scrollLeft = 1000 should be possible.");

  // Reset back to horizontal-tb to make the result readable on-screen.
  document.scrollingElement.className = "result-wm";
</script>
