mirror of https://github.com/sveltejs/svelte
parent
3b4d53e611
commit
cb97ad1454
@ -0,0 +1,51 @@
|
|||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
thePromise: new Promise((_) => {}),
|
||||||
|
},
|
||||||
|
|
||||||
|
html: `
|
||||||
|
<div>error: undefined</div>
|
||||||
|
`,
|
||||||
|
|
||||||
|
async test({ assert, component, target }) {
|
||||||
|
await (component.thePromise = Promise.resolve("abc"));
|
||||||
|
|
||||||
|
assert.htmlEqual(
|
||||||
|
target.innerHTML,
|
||||||
|
`
|
||||||
|
<div>
|
||||||
|
error: undefined
|
||||||
|
After Resolve: undefined
|
||||||
|
</div>
|
||||||
|
`
|
||||||
|
);
|
||||||
|
|
||||||
|
component.error = 'external error occurred';
|
||||||
|
|
||||||
|
assert.htmlEqual(
|
||||||
|
target.innerHTML,
|
||||||
|
`
|
||||||
|
<div>
|
||||||
|
error: ${component.error}
|
||||||
|
After Resolve: ${component.error}
|
||||||
|
</div>
|
||||||
|
`
|
||||||
|
);
|
||||||
|
|
||||||
|
try {
|
||||||
|
await (component.thePromise = Promise.reject("failure"));
|
||||||
|
} catch (error) {
|
||||||
|
// ignore
|
||||||
|
}
|
||||||
|
|
||||||
|
assert.htmlEqual(
|
||||||
|
target.innerHTML,
|
||||||
|
`
|
||||||
|
<div>
|
||||||
|
error: ${component.error}
|
||||||
|
Rejected: failure
|
||||||
|
</div>
|
||||||
|
`
|
||||||
|
);
|
||||||
|
},
|
||||||
|
};
|
||||||
@ -0,0 +1,13 @@
|
|||||||
|
<script>
|
||||||
|
export let thePromise;
|
||||||
|
export let error;
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
error: {error}
|
||||||
|
{#await thePromise then _}
|
||||||
|
After Resolve: {error}
|
||||||
|
{:catch error}
|
||||||
|
Rejected: {error}
|
||||||
|
{/await}
|
||||||
|
</div>
|
||||||
Loading…
Reference in new issue