diff --git a/lib/jsdom/browser/Window.js b/lib/jsdom/browser/Window.js index 910092001d..c6039174c8 100644 --- a/lib/jsdom/browser/Window.js +++ b/lib/jsdom/browser/Window.js @@ -441,7 +441,10 @@ function Window(options) { return customElementRegistry; }, get event() { - return idlUtils.wrapperForImpl(window._currentEvent); + return window._currentEvent ? idlUtils.wrapperForImpl(window._currentEvent) : undefined; + }, + set event(value) { + Object.defineProperty(window, "event", { configurable: true, enumerable: true, writable: true, value }); } }); diff --git a/test/web-platform-tests/to-run.yaml b/test/web-platform-tests/to-run.yaml index f5e0a6ddb8..ea7d06f285 100644 --- a/test/web-platform-tests/to-run.yaml +++ b/test/web-platform-tests/to-run.yaml @@ -164,8 +164,7 @@ EventListener-incumbent-global-1.sub.html: [timeout, Multi-globals] EventListener-incumbent-global-2.sub.html: [timeout, Multi-globals] EventListener-invoke-legacy.html: [timeout, Animation stuff not implemented] EventTarget-dispatchEvent.html: [fail, We don't support every event interface yet] -event-global-extra.window.html: [timeout, Not implemented] -event-global.html: [fail, Not implemented] +event-global-extra.window.html: [fail, We're supposed to check the event listener's global (not the Event's global)] relatedTarget.window.html: [fail, Unknown] webkit-animation-end-event.html: [fail, WebKit-prefixed events not implemented] webkit-animation-iteration-event.html: [fail, WebKit-prefixed events not implemented] diff --git a/test/web-platform-tests/to-upstream/dom/events/event-global-replaceable.html b/test/web-platform-tests/to-upstream/dom/events/event-global-replaceable.html new file mode 100644 index 0000000000..5fe48bcad2 --- /dev/null +++ b/test/web-platform-tests/to-upstream/dom/events/event-global-replaceable.html @@ -0,0 +1,31 @@ + + +window.event is [Replaceable] + + + +