mirror of https://github.com/sveltejs/svelte
parent
f3650a6ff6
commit
0052a9145b
@ -0,0 +1,15 @@
|
||||
<script>
|
||||
export let options = [];
|
||||
export let index = 0;
|
||||
export let value;
|
||||
|
||||
$: {
|
||||
value = options[index];
|
||||
}
|
||||
</script>
|
||||
|
||||
<select bind:value={index}>
|
||||
{#each options as option, i}
|
||||
<option value={i}>{option}</option>
|
||||
{/each}
|
||||
</select>
|
@ -0,0 +1,19 @@
|
||||
export default {
|
||||
async test({ assert, component, target }) {
|
||||
assert.htmlEqual(target.innerHTML, 'Loading...');
|
||||
|
||||
await component.promise;
|
||||
const span = target.querySelector('span');
|
||||
assert.equal(span.textContent, 'a');
|
||||
|
||||
const select = target.querySelector('select');
|
||||
const options = [...target.querySelectorAll('option')];
|
||||
|
||||
const change = new window.Event('change');
|
||||
|
||||
options[1].selected = true;
|
||||
await select.dispatchEvent(change);
|
||||
|
||||
assert.equal(span.textContent, 'b');
|
||||
}
|
||||
};
|
@ -0,0 +1,12 @@
|
||||
<script>
|
||||
import Widget from './Widget.svelte';
|
||||
let promise = Promise.resolve(['a', 'b']);
|
||||
let value;
|
||||
</script>
|
||||
|
||||
{#await promise}
|
||||
Loading...
|
||||
{:then options}
|
||||
<Widget {options} bind:value />
|
||||
<span>{value}</span>
|
||||
{/await}
|
Loading…
Reference in new issue