mirror of https://github.com/sveltejs/svelte
Fixing #2668, add test case "each-block-keyed-containing-self-in-if-with-else-branch"
parent
25c57a2de0
commit
5ff1f8253a
@ -0,0 +1,5 @@
|
||||
<script>
|
||||
export let item;
|
||||
</script>
|
||||
|
||||
<span>{item.id}</span>
|
@ -0,0 +1,48 @@
|
||||
export default {
|
||||
props: {
|
||||
list: [
|
||||
{ id: 1 },
|
||||
{ id: 2 },
|
||||
{ id: 3, children: [{ id: 30 }, { id: 31 }, { id: 32 }] },
|
||||
],
|
||||
activeId: null,
|
||||
},
|
||||
|
||||
html: `
|
||||
<ul>
|
||||
<li><span>1</span><span>foo</span></li>
|
||||
<li><span>2</span><span>foo</span></li>
|
||||
<li><span>3</span><span>foo</span></li>
|
||||
</ul>
|
||||
`,
|
||||
|
||||
test({ assert, component, target }) {
|
||||
component.activeId = 3;
|
||||
|
||||
assert.htmlEqual(target.innerHTML, `
|
||||
<ul>
|
||||
<li><span>1</span><span>foo</span></li>
|
||||
<li><span>2</span><span>foo</span></li>
|
||||
<li>
|
||||
<span>3</span>
|
||||
<ul>
|
||||
<li><span>30</span><span>foo</span></li>
|
||||
<li><span>31</span><span>foo</span></li>
|
||||
<li><span>32</span><span>foo</span></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
`);
|
||||
|
||||
|
||||
component.activeId = null;
|
||||
|
||||
assert.htmlEqual(target.innerHTML, `
|
||||
<ul>
|
||||
<li><span>1</span><span>foo</span></li>
|
||||
<li><span>2</span><span>foo</span></li>
|
||||
<li><span>3</span><span>foo</span></li>
|
||||
</ul>
|
||||
`);
|
||||
}
|
||||
};
|
@ -0,0 +1,19 @@
|
||||
<script>
|
||||
import Nested from './Nested.svelte';
|
||||
|
||||
export let list;
|
||||
export let activeId;
|
||||
</script>
|
||||
|
||||
<ul>
|
||||
{#each list as item (item.id)}
|
||||
<li>
|
||||
<Nested {item} />
|
||||
{#if item.id === activeId && item.children}
|
||||
<svelte:self list={item.children} />
|
||||
{:else}
|
||||
<span>foo</span>
|
||||
{/if}
|
||||
</li>
|
||||
{/each}
|
||||
</ul>
|
Loading…
Reference in new issue