chromium/third_party/blink/web_tests/fast/scrolling/jquery-rtl-scroll-type.html

<!DOCTYPE html>
<!-- Inspired by https://github.com/othree/jquery.rtl-scroll-type which is used
     in various JS frameworks to determine what scroll "type" the engine has
     when it comes to RTL. When at the initial scroll position (i.e. all the way
     to the right), some engines sets scrollLeft to 0 and decrement to negative
     values when scrolling leftwards (Gecko). Others set it to 0 and increment
     the value when scrolling leftwards (IE / Edge). Others again set it to the
     width of the scrollable area and decrement it when scrolling leftwards.
     WebKit / Blink used to be the third case, now they are consistent with Gecko.
     There are further complications in the latter engine if
     there's a vertical scrollbar [1], and it's wider than the border box. All
     we need to worry about here though, is that the script is able to detect
     that we are "negative".

     [1] crbug.com/724255 -->
<div id="definer" dir="rtl" style="font-size: 14px; width: 1px; height: 1px; position: absolute; top: -1000px; overflow: scroll">A</div>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script>
    test(function() {
        var definer = document.getElementById('definer');
        var type = 'reverse';
        if (definer.scrollLeft > 0) {
            type = 'default';
        }
        else {
            definer.scrollLeft = 1;
            if (definer.scrollLeft === 0) {
                type = 'negative';
            }
        }
        assert_equals(type, 'negative');
    }, "Blink should have 'negative' RTL scroll behavior");
</script>