chromium/third_party/blink/web_tests/external/wpt/html/semantics/forms/textfieldselection/defaultSelection.html

<!doctype html>
<meta charset="utf-8">
<title></title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<textarea>foo</textarea>
<input type="text" value="foo"></input>
<script>

for (let el of [document.querySelector("textarea"), document.querySelector("input")]) {
    test(function() {
        assert_equals(el.selectionStart, 0);
        assert_equals(el.selectionEnd, 0);
    }, `Default selectionStart and selectionEnd for ${el}`);

    test(function() {
        el.value="foo";
        assert_equals(el.selectionStart, 0);
        assert_equals(el.selectionEnd, 0);
    }, `selectionStart and selectionEnd do not change when same value set again for ${el}`);

    test(function() {
        el.value="Foo";
        assert_equals(el.selectionStart, 3);
        assert_equals(el.selectionEnd, 3);
    }, `selectionStart and selectionEnd change when value changed to upper case for ${el}`);
  }
</script>