mirror of
https://github.com/fergalmoran/ladybird.git
synced 2025-12-22 09:19:03 +00:00
LibWeb/HTML: Default ErrorEvent error to undefined
This was a change in the HTML spec, see: https://github.com/whatwg/html/commit/032523196
This commit is contained in:
committed by
Andreas Kling
parent
cb9e3d5c9b
commit
8214371ad5
@@ -17,7 +17,7 @@ struct ErrorEventInit : public DOM::EventInit {
|
|||||||
String filename;
|
String filename;
|
||||||
u32 lineno { 0 };
|
u32 lineno { 0 };
|
||||||
u32 colno { 0 };
|
u32 colno { 0 };
|
||||||
JS::Value error { JS::js_null() };
|
JS::Value error { JS::js_undefined() };
|
||||||
};
|
};
|
||||||
|
|
||||||
// https://html.spec.whatwg.org/multipage/webappapis.html#errorevent
|
// https://html.spec.whatwg.org/multipage/webappapis.html#errorevent
|
||||||
|
|||||||
@@ -12,10 +12,11 @@ interface ErrorEvent : Event {
|
|||||||
readonly attribute any error;
|
readonly attribute any error;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// https://html.spec.whatwg.org/#erroreventinit
|
||||||
dictionary ErrorEventInit : EventInit {
|
dictionary ErrorEventInit : EventInit {
|
||||||
DOMString message = "";
|
DOMString message = "";
|
||||||
USVString filename = "";
|
USVString filename = "";
|
||||||
unsigned long lineno = 0;
|
unsigned long lineno = 0;
|
||||||
unsigned long colno = 0;
|
unsigned long colno = 0;
|
||||||
any error = null;
|
any error;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
Harness status: OK
|
||||||
|
|
||||||
|
Found 5 tests
|
||||||
|
|
||||||
|
5 Pass
|
||||||
|
Pass error event is normal (return true does not cancel; one arg) on Document, with a synthetic ErrorEvent
|
||||||
|
Pass Initial values of ErrorEvent members
|
||||||
|
Pass error member can be set to null
|
||||||
|
Pass error member can be set to undefined
|
||||||
|
Pass error member can be set to arbitrary
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Event handlers processing algorithm: error events</title>
|
||||||
|
<script src="../../../../../resources/testharness.js"></script>
|
||||||
|
<script src="../../../../../resources/testharnessreport.js"></script>
|
||||||
|
<link rel="help" href="https://html.spec.whatwg.org/multipage/#the-event-handler-processing-algorithm">
|
||||||
|
<link rel="author" title="Domenic Denicola" href="mailto:d@domenic.me">
|
||||||
|
|
||||||
|
<div id="log"></div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
"use strict";
|
||||||
|
setup({ allow_uncaught_exception: true });
|
||||||
|
|
||||||
|
promise_test(t => {
|
||||||
|
document.onerror = t.step_func((...args) => {
|
||||||
|
assert_equals(args.length, 1);
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
|
||||||
|
const eventWatcher = new EventWatcher(t, document, "error");
|
||||||
|
const promise = eventWatcher.wait_for("error").then(e => {
|
||||||
|
assert_equals(e.defaultPrevented, false);
|
||||||
|
assert_equals(e.message, "");
|
||||||
|
assert_equals(e.filename, "");
|
||||||
|
assert_equals(e.lineno, 0);
|
||||||
|
assert_equals(e.colno, 0);
|
||||||
|
assert_equals(e.error, undefined);
|
||||||
|
});
|
||||||
|
|
||||||
|
document.dispatchEvent(new ErrorEvent("error", { cancelable: true }));
|
||||||
|
|
||||||
|
return promise;
|
||||||
|
}, "error event is normal (return true does not cancel; one arg) on Document, with a synthetic ErrorEvent");
|
||||||
|
|
||||||
|
test(() => {
|
||||||
|
const e = new ErrorEvent("error");
|
||||||
|
assert_equals(e.message, "");
|
||||||
|
assert_equals(e.filename, "");
|
||||||
|
assert_equals(e.lineno, 0);
|
||||||
|
assert_equals(e.colno, 0);
|
||||||
|
assert_equals(e.error, undefined);
|
||||||
|
}, "Initial values of ErrorEvent members")
|
||||||
|
|
||||||
|
test(() => {
|
||||||
|
const e = new ErrorEvent("error", {error : null});
|
||||||
|
assert_equals(e.error, null);
|
||||||
|
}, "error member can be set to null")
|
||||||
|
|
||||||
|
test(() => {
|
||||||
|
const e = new ErrorEvent("error", {error : undefined});
|
||||||
|
assert_equals(e.error, undefined);
|
||||||
|
}, "error member can be set to undefined")
|
||||||
|
|
||||||
|
test(() => {
|
||||||
|
const e = new ErrorEvent("error", {error : "foo"});
|
||||||
|
assert_equals(e.error, "foo");
|
||||||
|
}, "error member can be set to arbitrary")
|
||||||
|
|
||||||
|
</script>
|
||||||
Reference in New Issue
Block a user