mirror of https://github.com/sveltejs/svelte
Fixing #2668, add test case "each-block-keyed-containing-self-in-if"
parent
da8c245516
commit
25c57a2de0
@ -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></li>
|
||||||
|
<li><span>2</span></li>
|
||||||
|
<li><span>3</span></li>
|
||||||
|
</ul>
|
||||||
|
`,
|
||||||
|
|
||||||
|
test({ assert, component, target }) {
|
||||||
|
component.activeId = 3;
|
||||||
|
|
||||||
|
assert.htmlEqual(target.innerHTML, `
|
||||||
|
<ul>
|
||||||
|
<li><span>1</span></li>
|
||||||
|
<li><span>2</span></li>
|
||||||
|
<li>
|
||||||
|
<span>3</span>
|
||||||
|
<ul>
|
||||||
|
<li><span>30</span></li>
|
||||||
|
<li><span>31</span></li>
|
||||||
|
<li><span>32</span></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
`);
|
||||||
|
|
||||||
|
|
||||||
|
component.activeId = null;
|
||||||
|
|
||||||
|
assert.htmlEqual(target.innerHTML, `
|
||||||
|
<ul>
|
||||||
|
<li><span>1</span></li>
|
||||||
|
<li><span>2</span></li>
|
||||||
|
<li><span>3</span></li>
|
||||||
|
</ul>
|
||||||
|
`);
|
||||||
|
}
|
||||||
|
};
|
@ -0,0 +1,17 @@
|
|||||||
|
<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} />
|
||||||
|
{/if}
|
||||||
|
</li>
|
||||||
|
{/each}
|
||||||
|
</ul>
|
Loading…
Reference in new issue