From 4f9096a5a8e93c5fa1eff333857e6007b646956a Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Wed, 22 May 2024 17:43:16 +0200 Subject: [PATCH] chore: delegate input event (#11732) We didn't delegate the input event back when we were also delegating `on:x` events, because it messes up the event/bindings/actions order. Since we're only doing that for `onx` event attributes now that reason is obsolete and we can start delegating it. --- packages/svelte/src/constants.js | 2 +- .../runtime-runes/samples/event-spread-rerun/_config.js | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/svelte/src/constants.js b/packages/svelte/src/constants.js index 1083561d81..2d98a8eb19 100644 --- a/packages/svelte/src/constants.js +++ b/packages/svelte/src/constants.js @@ -40,7 +40,7 @@ export const DelegatedEvents = [ 'contextmenu', 'focusin', 'focusout', - // 'input', This conflicts with bind:input + 'input', 'keydown', 'keyup', 'mousedown', diff --git a/packages/svelte/tests/runtime-runes/samples/event-spread-rerun/_config.js b/packages/svelte/tests/runtime-runes/samples/event-spread-rerun/_config.js index 2b320e0a86..b624051a18 100644 --- a/packages/svelte/tests/runtime-runes/samples/event-spread-rerun/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/event-spread-rerun/_config.js @@ -1,14 +1,16 @@ +import { flushSync } from 'svelte'; import { test, ok } from '../../test'; export default test({ mode: ['client'], - async test({ assert, logs, target }) { + test({ assert, logs, target }) { const input = target.querySelector('input'); ok(input); input.value = 'foo'; - await input.dispatchEvent(new Event('input')); + input.dispatchEvent(new Event('input', { bubbles: true })); + flushSync(); assert.deepEqual(logs, ['hi']); }