diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /testing/web-platform/tests/html/semantics/selectors/pseudo-classes/invalid-after-clone.html | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/html/semantics/selectors/pseudo-classes/invalid-after-clone.html')
-rw-r--r-- | testing/web-platform/tests/html/semantics/selectors/pseudo-classes/invalid-after-clone.html | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/selectors/pseudo-classes/invalid-after-clone.html b/testing/web-platform/tests/html/semantics/selectors/pseudo-classes/invalid-after-clone.html new file mode 100644 index 0000000000..92345602a8 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/selectors/pseudo-classes/invalid-after-clone.html @@ -0,0 +1,28 @@ +<!doctype html> +<meta charset="utf-8"> +<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io"> +<link rel="author" title="Mozilla" href="https://mozilla.org"> +<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> +<input> +<textarea></textarea> +<script> +promise_test(async () => { + for (let tag of ["input", "textarea"]) { + let element = document.querySelector(tag); + await test_driver.send_keys(element, 'something'); + + assert_true(element.validity.valid, tag + ' should be valid'); + + element.maxLength = 0; + assert_true(element.matches(":invalid"), tag + ' should match :invalid'); + assert_false(element.validity.valid, tag + ' should be invalid'); + + let clone = element.cloneNode(true); + assert_true(clone.matches(":invalid"), tag + ' clone should match :invalid'); + assert_false(clone.validity.valid, tag + 'clone should be invalid'); + } +}, 'Cloned invalid inputs / textareas with interactive changes get their validity state copied correctly'); +</script> |