diff options
Diffstat (limited to 'testing/web-platform/tests/html/semantics/forms/resetting-a-form/reset-form-event-realm.html')
-rw-r--r-- | testing/web-platform/tests/html/semantics/forms/resetting-a-form/reset-form-event-realm.html | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/forms/resetting-a-form/reset-form-event-realm.html b/testing/web-platform/tests/html/semantics/forms/resetting-a-form/reset-form-event-realm.html new file mode 100644 index 0000000000..6c125c46d0 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/forms/resetting-a-form/reset-form-event-realm.html @@ -0,0 +1,38 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>reset() event firing realm</title> +<link rel="help" href="https://html.spec.whatwg.org/#resetting-a-form"> +<link rel="help" href="https://dom.spec.whatwg.org/#concept-event-fire"> +<link rel="author" title="Domenic Denicola" href="mailto:d@domenic.me"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + +<iframe src="support/reset-form-event-realm.html"></iframe> +<iframe></iframe> + +<script> +"use strict"; + +async_test(t => { + window.onload = t.step_func_done(() => { + const frame0Form = frames[0].document.forms[0]; + const frame1Body = frames[1].document.body; + + frame1Body.appendChild(frame0Form); + + let resetCalled = false; + frame0Form.onreset = t.step_func(ev => { + resetCalled = true; + + const functionConstructorInEvRealm = ev.constructor.constructor; + const functionConstructorInFormRealm = frame0Form.constructor.constructor; + + assert_equals(functionConstructorInEvRealm, functionConstructorInFormRealm, + "the event must be created in the realm of the target"); + }); + + frame0Form.reset(); + assert_true(resetCalled, "The reset event handler must have been called"); + }); +}, "reset()'s event must be fired in the Realm of the target") +</script> |