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