Merge pull request #1967 from sveltejs/gh-1939

set parent correctly for children of await blocks
pull/1983/head
Rich Harris 6 years ago committed by GitHub
commit 2d3dbdd6a9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -80,7 +80,7 @@ export default class AwaitBlockWrapper extends Wrapper {
status,
renderer,
block,
parent,
this,
child,
stripWhitespace,
nextSibling

@ -0,0 +1,35 @@
let fulfil;
let thePromise = new Promise(f => {
fulfil = f;
});
export default {
props: {
thePromise,
show: true
},
html: `
<div><p>loading...</p></div>
`,
test({ assert, component, target }) {
fulfil(42);
return thePromise
.then(() => {
assert.htmlEqual(target.innerHTML, `
<div><p>the value is 42</p></div>
`);
component.show = false;
assert.htmlEqual(target.innerHTML, `<div></div>`);
component.show = true;
assert.htmlEqual(target.innerHTML, `
<div><p>the value is 42</p></div>
`);
});
}
};

@ -0,0 +1,11 @@
<div>
{#await thePromise}
<p>loading...</p>
{:then theValue}
{#if show}
<p>the value is {theValue}</p>
{/if}
{:catch theError}
<p>oh no! {theError.message}</p>
{/await}
</div>
Loading…
Cancel
Save