mirror of https://github.com/sveltejs/svelte
parent
0520a10dc0
commit
be67e1226a
@ -1,8 +1,24 @@
|
||||
export default {
|
||||
html: '',
|
||||
|
||||
test({ assert, component, target, window }) {
|
||||
async test({ assert, component, target, window }) {
|
||||
component.visible = true;
|
||||
assert.equal(target.querySelector('input'), window.document.activeElement);
|
||||
const input = target.querySelector('input');
|
||||
async function dispatchEvent(value) {
|
||||
input.value = value;
|
||||
const inputEvent = new window.InputEvent("input");
|
||||
await input.dispatchEvent(inputEvent);
|
||||
}
|
||||
|
||||
assert.equal(window.document.activeElement.getAttribute('title'), 'text');
|
||||
|
||||
await dispatchEvent('dynamic');
|
||||
assert.equal(window.document.activeElement.getAttribute('title'), 'dynamic');
|
||||
|
||||
await dispatchEvent('bound');
|
||||
assert.equal(window.document.activeElement.getAttribute('title'), 'bound');
|
||||
|
||||
await dispatchEvent('fn');
|
||||
assert.equal(window.document.activeElement.getAttribute('title'), 'fn');
|
||||
}
|
||||
};
|
||||
|
@ -1,8 +1,16 @@
|
||||
<script>
|
||||
export let visible = false;
|
||||
let input;
|
||||
let autofocus = true;
|
||||
let active = "text";
|
||||
</script>
|
||||
|
||||
{#if visible}
|
||||
<input bind:this={input} autofocus>
|
||||
{/if}
|
||||
<input title="input" bind:value={active} />
|
||||
|
||||
{#if active === "text"}
|
||||
<input title={active} autofocus />
|
||||
{:else if active === "dynamic"}
|
||||
<input title={active} {autofocus} />
|
||||
{:else if active === "bound"}
|
||||
<input title={active} autofocus={autofocus} />
|
||||
{:else if active === "fn"}
|
||||
<input title={active} autofocus={() => true} />
|
||||
{/if}
|
||||
|
Loading…
Reference in new issue