set parent correctly for children of await blocks - should fix #1939

pull/1967/head
Richard Harris 6 years ago
parent c1ee21b022
commit fc5d929e76

@ -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