Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!DOCTYPE html>
<html>
<head>
<title>Test user-select: none on input/textarea does not affect editability</title>
<meta charset="utf-8">
<link rel="author" title="Tim Nguyen" href="https://github.com/nt1m">
<style>
input, textarea {
-webkit-user-select: none;
user-select: none;
}
</style>
</head>
<body>
<input>
<textarea></textarea>
<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>
async function testElement(element) {
const expectedText = "xyz";
element.focus();
await test_driver.send_keys(element, expectedText);
assert_equals(element.value, expectedText, "Text should be entered");
element.select();
assert_equals(element.value.substring(element.selectionStart, element.selectionEnd), expectedText, "Text should be programatically selectable");
await test_driver.send_keys(element, "\uE003");
assert_equals(element.value, "", "Text should be cleared");
}
promise_test(() => {
return testElement(document.querySelector("input"))
}, "Test <input> with user-select: none");
promise_test(() => {
return testElement(document.querySelector("textarea"))
}, "Test <textarea> with user-select: none");
</script>
</body>
</html>